diff --git a/BNFC.cabal b/BNFC.cabal
--- a/BNFC.cabal
+++ b/BNFC.cabal
@@ -1,9 +1,13 @@
 Name: BNFC
-Version: 2.9.4
+Version: 2.9.4.1
 cabal-version: 2.0
-  -- >=1.24 for the custom-setup section
-  -- >=2.0  for the build-tools: hspec-discover
-build-type: Custom
+  -- >=2.0  for build-tool-depends: hspec-discover
+  -- Andreas, 2022-12-16, issue #429:
+  -- Putting cabal-version: x.y could mean putting extra-deps: [Cabal-x.y]
+  -- into stack-a.b.c.yaml if that snapshot does not have Cabal at least x.y.
+  -- This will then require a Setup.[l]hs file with stack even for build-type: Simple.
+  -- Shunning this extra effort, we only support stack snapshot that have a sufficient Cabal.
+build-type: Simple
 category: Parsing
 Copyright: (c) Andreas Abel, Jonas Almström Duregård, Krasimir Angelov, Jean-Philippe Bernardy, Björn Bringert, Johan Broberg, Kyle Butt, Paul Callaghan, Grégoire Détrez, Markus Forsberg, Ola Frid, Peter Gammie, Thomas Hallgren, Pascal Hof, Simon Huber, Patrik Jansson, Kristofer Johannisson, Antti-Juhani Kaijanaho, Andreas Lööw, Justin Meiners, Kent Mein, Ulf Norell, Gabriele Paganelli, Michael Pellauer, Fabian Ruch, and Aarne Ranta 2002 - 2021. Free software under the BSD 3-clause license.
 License: BSD3
@@ -26,16 +30,18 @@
   an XML representation,
   a LaTeX file containing a readable specification of the language.
 
+-- Support range when build with cabal
 tested-with:
-  GHC == 7.10.3
-  GHC == 8.0.2
-  GHC == 8.2.2
-  GHC == 8.4.4
-  GHC == 8.6.5
-  GHC == 8.8.4
-  GHC == 8.10.7
+  GHC == 9.4.3
+  GHC == 9.2.5
   GHC == 9.0.2
-  GHC == 9.2.1
+  GHC == 8.10.7
+  GHC == 8.8.4
+  GHC == 8.6.5
+  GHC == 8.4.4
+  GHC == 8.2.2
+  GHC == 8.0.2
+  GHC == 7.10.3
 
 Extra-source-files:
   README.md
@@ -44,41 +50,21 @@
   Makefile
   src/BNFC.cf
   src/Makefile
-  stack-9.2.1.yaml
+  -- Support range when build with stack
+  stack-9.4.3.yaml
+  stack-9.2.5.yaml
   stack-9.0.2.yaml
-  stack-9.0.1.yaml
   stack-8.10.7.yaml
-  stack-8.10.4.yaml
-  stack-8.10.3.yaml
-  stack-8.10.2.yaml
   stack-8.8.4.yaml
-  stack-8.8.3.yaml
-  stack-8.8.2.yaml
   stack-8.6.5.yaml
-  stack-8.6.4.yaml
   stack-8.4.4.yaml
   stack-8.2.2.yaml
-  stack-8.0.2.yaml
-  stack-7.10.3.yaml
 
 Source-repository head
   type:     git
   location: git://github.com/BNFC/bnfc.git
   subdir:   source
 
-Source-repository this
-  type:     git
-  location: git://github.com/BNFC/bnfc.git
-  subdir:   source
-  tag:      v2.9.4
-
--- Setup using https://github.com/haskellari/cabal-doctest
-custom-setup
- setup-depends:
-   base >= 4 && <5,
-   Cabal >= 2.0,
-   cabal-doctest >= 1 && < 1.1
-
 executable bnfc
   default-language:  Haskell2010
   main-is:           Main.hs
@@ -118,6 +104,8 @@
     , process
     , string-qq
     , time
+    , transformers
+        -- for Control.Monad.IO.Class, which is in base >= 4.9 but not below
   if impl(ghc < 8.0)
     build-depends:
       semigroups
@@ -130,10 +118,12 @@
     -Wall
     -fno-warn-dodgy-imports
     -fno-warn-name-shadowing
+    -- for cabal repl -w doctest :
+    -fno-warn-type-defaults
   if impl(ghc >= 8.0)
     ghc-options:
       -Wcompat
-  if impl(ghc == 9.2.1)
+  if impl(ghc >= 9.2)
     ghc-options:
       -Wno-incomplete-uni-patterns
   default-extensions:
@@ -152,6 +142,7 @@
     RecordWildCards
     ScopedTypeVariables
     TupleSections
+    TypeOperators
   -- 2021-01-22 The following autogen section seems wrong, breaks Haskell CI:
   -- E.g. https://github.com/BNFC/bnfc/runs/1750769442?check_suite_focus=true
   -- autogen-modules:
@@ -340,18 +331,3 @@
   autogen-modules:
     -- Generated by cabal
     Paths_BNFC
-
-test-suite doctests
-  default-language:   Haskell2010
-  type:               exitcode-stdio-1.0
-  ghc-options:        -threaded
-  default-extensions: CPP
-  main-is:            doctests.hs
-  build-depends:      base
-    , filepath
-    , BNFC
-      -- The dependency BNFC ensures the build of the library first
-      -- and hence, the presence of Build_doctests.
-      -- See https://hackage.haskell.org/package/cabal-doctest
-    , doctest >= 0.8
-  hs-source-dirs:     test
diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,20 @@
+# 2.9.4.1
+
+Andreas Abel <andreas.abel@gu.se>,  December 2022
+
+* C/C++: allow space characters in token definitions again [[#431](https://github.com/BNFC/bnfc/issues/431)]
+  (regression in 2.9.0)
+* installation: get rid of `cabal-doctest` dependency [[#429](https://github.com/BNFC/bnfc/issues/429)]
+
+Tested GHC versions:
+* with `cabal`, GHC 7.10 - 9.4
+* with `stack`, GHC 8.2  - 9.4
+
 # 2.9.4
 
 Andreas Abel <andreas.abel@gu.se>,  February 2022
 
-* LBNF: empty tokens types are now forbidden [#388]
+* LBNF: empty token types are now forbidden [#388]
 * Agda: support position information via `--functor` [#405]
 * C/C++: use `size_t` and `-Wsign-conversion` [#391]
 * C++: repair broken `--line-numbers` [#390], regression in 2.9.2 by [#349]
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -5,36 +5,49 @@
 # Cabal options (to be overwritten from the command line)
 CABAL_OPTS           =
 CABAL_BUILDDIR_SUFFIX=
-CABAL_BUILD_OPTS     = --builddir=dist-ghc-$(GHC_VERSION)$(CABAL_BUILDDIR_SUFFIX)
+CABAL_BUILD_OPTS     = --enable-tests
+# --builddir=dist-ghc-$(GHC_VERSION)$(CABAL_BUILDDIR_SUFFIX)
 CABAL_CONFIGURE_OPTS = --enable-tests
-CABAL_INSTALL_OPTS   = $(CABAL_CONFIGURE_OPTS) $(CABAL_BUILD_OPTS)
+CABAL_INSTALL_OPTS   = $(CABAL_CONFIGURE_OPTS) $(CABAL_BUILD_OPTS) --overwrite-policy=always
 CABAL_TEST_OPTS      = $(CABAL_BUILD_OPTS)
 
 CABAL                = cabal $(CABAL_OPTS)
-CABAL_CONFIGURE      = $(CABAL) v1-configure $(CABAL_CONFIGURE_OPTS)
-CABAL_BUILD          = $(CABAL) v1-build     $(CABAL_BUILD_OPTS)
-CABAL_INSTALL        = $(CABAL) v1-install   $(CABAL_INSTALL_OPTS)
-CABAL_TEST           = $(CABAL) v1-test      $(CABAL_TEST_OPTS)
+CABAL_CONFIGURE      = $(CABAL) configure $(CABAL_CONFIGURE_OPTS)
+CABAL_BUILD          = $(CABAL) build     $(CABAL_BUILD_OPTS)
+CABAL_INSTALL        = $(CABAL) install   $(CABAL_INSTALL_OPTS)
+CABAL_TEST           = $(CABAL) test      $(CABAL_TEST_OPTS)
 
 # Name for binary distribution (e.g. bnfc-2.4.5-linux32)
 BDIST_TAG=bnfc-${BNFC_VERSION}-$(shell uname -s)-$(shell uname -m)
 
 .PHONY: default build install doc test bdist show-version debug weed TAGS
 
-default: install test
+default: build cabal-test doctest-quick
 
 build:
-	$(CABAL_CONFIGURE) && $(CABAL_BUILD)
+	$(CABAL_BUILD)
 
 install:
 	$(CABAL_INSTALL)
 
-test:
+test: build cabal-test doctest
+
+cabal-test:
 	$(CABAL_TEST)
 
-haddock doc:
-	$(CABAL) v1-haddock --hyperlink-source
-# --executables --internal
+doctest: build doctest-install doctest-quick
+
+doctest-install:
+	cabal install doctest --program-suffix=-${GHC_VERSION}
+
+doctest-quick:
+	cabal repl -w doctest-${GHC_VERSION}
+# --ghc-options=-Wno-type-defaults needed due to OverloadedStrings.
+# But it does not get used here, needs to go into cabal file.
+# see: https://github.com/sol/doctest/issues/390
+
+haddock:
+	$(CABAL) haddock
 
 # See https://hackage.haskell.org/package/weeder
 # weeder can find dead code starting from the .hie files
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -34,8 +34,8 @@
 
 You need a running installation of
 [stack](https://docs.haskellstack.org/en/stable/install_and_upgrade/).
-To install and run the latest version of [bnfc from
-stackage](https://www.stackage.org/package/BNFC),
+To install and run the latest version of
+[bnfc from stackage](https://www.stackage.org/package/BNFC),
 enter at the command line:
 
 ```
@@ -48,7 +48,7 @@
 You need a running installation of a recent version of
 [GHC](https://www.haskell.org/ghc/) and
 [Cabal](https://www.haskell.org/cabal/), most easily available via the
-[Haskell Platform](https://www.haskell.org/platform/).  To install and
+[GHCup](https://www.haskell.org/ghcup/).  To install
 [bnfc from hackage](https://hackage.haskell.org/package/BNFC),
 enter at the command line:
 ```
@@ -58,9 +58,9 @@
 
 ### Installing the development version
 
-To install the [development version of
-bnfc](https://github.com/BNFC/bnfc) with the latest bugfixes (and
-regressions ;-)):
+To install the
+[development version of bnfc](https://github.com/BNFC/bnfc)
+with the latest bugfixes (and regressions ;-)):
 ```
   git clone https://github.com/BNFC/bnfc.git
   cd bnfc/source
@@ -71,9 +71,9 @@
 ```
 or
 ```
-  stack install --stack-yaml stack-8.10.3.yaml
+  stack install --stack-yaml stack-8.10.7.yaml
 ```
-(replace `8.10.3` with your GHC version, and if you want to build with
+(replace `8.10.7` with your GHC version, and if you want to build with
 your installed GHC then add flag `--system-ghc`).
 
 Mini tutorial
diff --git a/Setup.lhs b/Setup.lhs
deleted file mode 100644
--- a/Setup.lhs
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env runghc
-
-> module Main where
->
-> import Distribution.Extra.Doctest (defaultMainWithDoctests)
->
-> main :: IO ()
-> main = defaultMainWithDoctests "doctests"
-
-This generates the module Build_doctests.
diff --git a/src/BNFC/Backend/Base.hs b/src/BNFC/Backend/Base.hs
--- a/src/BNFC/Backend/Base.hs
+++ b/src/BNFC/Backend/Base.hs
@@ -16,9 +16,11 @@
   ) where
 
 import Control.Arrow    ( (&&&) )
-import Control.Monad.Writer
+import Control.Monad.IO.Class ( liftIO )
+import Control.Monad.Writer   ( WriterT, execWriterT, tell )
 
 import Data.Char        ( isSpace )
+import Data.Foldable    ( forM_ )
 import Data.Function    ( on )
 import qualified Data.List as List
 
diff --git a/src/BNFC/Backend/C/RegToFlex.hs b/src/BNFC/Backend/C/RegToFlex.hs
--- a/src/BNFC/Backend/C/RegToFlex.hs
+++ b/src/BNFC/Backend/C/RegToFlex.hs
@@ -81,4 +81,4 @@
   | otherwise               = showLitChar c ""
   where
   reserved :: String
-  reserved = "$+-*=<>[](){}!?.,;:^~|&%#/\\$_@\""
+  reserved = " $+-*=<>[](){}!?.,;:^~|&%#/\\$_@\""
diff --git a/src/BNFC/Lex.hs b/src/BNFC/Lex.hs
--- a/src/BNFC/Lex.hs
+++ b/src/BNFC/Lex.hs
@@ -341,13 +341,13 @@
                         , 0x80 + oc Data.Bits..&. 0x3f
                         ]
 
-alex_action_3 =  tok (eitherResIdent TV) 
-alex_action_4 =  tok (eitherResIdent T_Identifier) 
-alex_action_5 =  tok (eitherResIdent TV) 
-alex_action_6 =  tok (TL . unescapeInitTail) 
-alex_action_7 =  tok TC 
-alex_action_8 =  tok TI 
-alex_action_9 =  tok TD 
+alex_action_3 =  tok (eitherResIdent TV)
+alex_action_4 =  tok (eitherResIdent T_Identifier)
+alex_action_5 =  tok (eitherResIdent TV)
+alex_action_6 =  tok (TL . unescapeInitTail)
+alex_action_7 =  tok TC
+alex_action_8 =  tok TI
+alex_action_9 =  tok TD
 {-# LINE 1 "templates/GenericTemplate.hs" #-}
 -- -----------------------------------------------------------------------------
 -- ALEX TEMPLATE
@@ -565,32 +565,4 @@
   = AlexAccNone
   | AlexAcc Int
   | AlexAccSkip
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 
diff --git a/src/BNFC/Options.hs b/src/BNFC/Options.hs
--- a/src/BNFC/Options.hs
+++ b/src/BNFC/Options.hs
@@ -13,6 +13,7 @@
   , defaultOptions, isDefault, printOptions
   , AlexVersion(..), HappyMode(..), OCamlParser(..), JavaLexerParser(..)
   , RecordPositions(..), TokenText(..)
+  , Ansi(..)
   , InPackage
   , removedIn290
   , translateOldOptions
@@ -97,9 +98,14 @@
 data JavaLexerParser = JLexCup | JFlexCup | Antlr4
     deriving (Eq,Show,Ord)
 
+-- | Line numbers or not?
 data RecordPositions = RecordPositions | NoRecordPositions
     deriving (Eq,Show,Ord)
 
+-- | Restrict to ANSI standard (C/C++)?
+data Ansi = Ansi | BeyondAnsi
+    deriving (Eq, Ord, Show)
+
 -- | Package name (C++ and Java backends).
 type InPackage = Maybe String
 
@@ -122,6 +128,7 @@
   , make        :: Maybe String    -- ^ The name of the Makefile to generate or Nothing for no Makefile.
   , inPackage   :: InPackage       -- ^ The hierarchical package to put the modules in, or Nothing.
   , linenumbers :: RecordPositions -- ^ Add and set line_number field for syntax classes
+  , ansi        :: Ansi            -- ^ Restrict to the ANSI language standard (C/C++)?
   --- Haskell specific:
   , inDir         :: Bool        -- ^ Option @-d@.
   , functor       :: Bool        -- ^ Option @--functor@.  Make AST functorial?
@@ -155,6 +162,7 @@
   , make            = Nothing
   , inPackage       = Nothing
   , linenumbers     = NoRecordPositions
+  , ansi            = BeyondAnsi
   -- Haskell specific
   , inDir           = False
   , functor         = False
@@ -211,6 +219,7 @@
   , [ "--makefile=" ++ m  | m <- maybeToList $ make opts        ]
   , [ "-p " ++ p          | p <- maybeToList $ inPackage opts   ]
   , unlessDefault linenumbers opts $ const [ "-l" ]
+  , unlessDefault ansi opts $ const [ "--ansi" ]
   -- Haskell options:
   , [ "-d"                | inDir opts                          ]
   , [ "--functor"         | functor opts                        ]
@@ -313,6 +322,10 @@
         , "(Note: Java requires cup version 0.11b-2014-06-11 or greater.)"
         ]
     , [TargetC, TargetCpp, TargetJava] )
+  , ( Option [] ["ansi"] (NoArg (\o -> o{ ansi = Ansi })) $ unlines
+        [ "Restrict to ANSI language standard"
+        ]
+    , [TargetCpp] )  -- In the future maybe also: TargetC
   , ( Option ['p'] ["name-space"]
       (ReqArg (\n o -> o {inPackage = Just n}) "NAMESPACE")
           "Prepend NAMESPACE to the package/module name"
diff --git a/src/BNFC/Par.hs b/src/BNFC/Par.hs
--- a/src/BNFC/Par.hs
+++ b/src/BNFC/Par.hs
@@ -303,870 +303,870 @@
 happyTable = HappyA# "\x00\x00\x35\x00\x1d\x00\x35\x00\xa8\x00\x94\x00\x4b\x00\x4b\x00\x1a\x00\x96\x00\x97\x00\x36\x00\xff\xff\x4b\x00\x1e\x00\xa9\x00\x4b\x00\x1f\x00\x98\x00\x4c\x00\x78\x00\x9c\x00\x20\x00\x93\x00\x21\x00\x1a\x00\xb0\x00\x22\x00\x23\x00\xa6\x00\x40\x00\x57\x00\x37\x00\x36\x00\x37\x00\x25\x00\x26\x00\x24\x00\x25\x00\x1a\x00\x6f\x00\x1a\x00\x41\x00\x58\x00\x57\x00\x59\x00\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\xff\xff\x65\x00\x1b\x00\x66\x00\x67\x00\x58\x00\x94\x00\x59\x00\x68\x00\x69\x00\x6a\x00\xff\xff\x6b\x00\x6c\x00\x57\x00\x9f\x00\x26\x00\x37\x00\x1a\x00\x42\x00\x43\x00\x36\x00\x37\x00\x37\x00\x1a\x00\x50\x00\x58\x00\x4f\x00\x59\x00\x50\x00\x61\x00\x62\x00\x63\x00\x64\x00\x53\x00\x65\x00\x37\x00\x66\x00\x67\x00\x1d\x00\x50\x00\x1a\x00\x68\x00\x69\x00\x6a\x00\x1a\x00\x6b\x00\x6c\x00\x54\x00\x51\x00\x52\x00\x1e\x00\x94\x00\x2d\x00\x1f\x00\x1a\x00\x55\x00\x37\x00\x1a\x00\x20\x00\x1a\x00\x21\x00\x36\x00\x1a\x00\x22\x00\x23\x00\x29\x00\x2a\x00\x28\x00\x26\x00\x9a\x00\x2a\x00\x28\x00\x26\x00\x24\x00\x25\x00\x1a\x00\x93\x00\x1a\x00\xff\xff\xb5\x00\x2a\x00\x28\x00\x26\x00\x91\x00\xba\x00\x2a\x00\x28\x00\x26\x00\x27\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x9e\x00\x28\x00\x26\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\xff\xff\x3d\x00\x8b\x00\x3e\x00\x7a\x00\xff\xff\x3d\x00\x7b\x00\x8e\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x3d\x00\x36\x00\x8b\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x50\x00\x8a\x00\x96\x00\x97\x00\x44\x00\x45\x00\x46\x00\x47\x00\x89\x00\x51\x00\x85\x00\x98\x00\x44\x00\x45\x00\x46\x00\x8c\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x2d\x00\x2e\x00\xff\xff\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x2f\x00\x30\x00\x31\x00\x36\x00\x44\x00\x45\x00\x46\x00\xa4\x00\xff\xff\x50\x00\x85\x00\x32\x00\x33\x00\x37\x00\x32\x00\xa0\x00\x2d\x00\x2e\x00\x51\x00\xad\x00\x84\x00\x2f\x00\x30\x00\x31\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x82\x00\x32\x00\xb9\x00\x54\x00\x6f\x00\x70\x00\x6d\x00\x4a\x00\x45\x00\x46\x00\x83\x00\x5f\x00\x8d\x00\x45\x00\x46\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x43\x00\xff\xff\x37\x00\xa5\x00\x45\x00\x46\x00\x2d\x00\x2e\x00\xc2\x00\x45\x00\x46\x00\x2f\x00\x30\x00\x31\x00\x49\x00\x46\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x54\x00\x36\x00\x6c\x00\x6d\x00\x37\x00\x54\x00\x2e\x00\x54\x00\x5f\x00\x71\x00\x6d\x00\x37\x00\x5b\x00\x7b\x00\x48\x00\x5f\x00\x54\x00\x54\x00\xb6\x00\x6d\x00\x5e\x00\x2d\x00\x2e\x00\x78\x00\x5f\x00\x5f\x00\x2f\x00\x5c\x00\x31\x00\x2d\x00\x2e\x00\x37\x00\x2d\x00\x2e\x00\x2f\x00\x91\x00\x31\x00\x2f\x00\xc1\x00\x31\x00\x2d\x00\x2e\x00\x2d\x00\x2d\x00\x2e\x00\x2f\x00\xc5\x00\x31\x00\x5d\x00\x2e\x00\x31\x00\x2e\x00\x37\x00\x2e\x00\xff\xff\x59\x00\x5a\x00\x59\x00\x7c\x00\x59\x00\xa9\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x2e\x00\x8f\x00\x7d\x00\xb4\x00\xb3\x00\xaa\x00\xbb\x00\x73\x00\xb3\x00\xff\xff\x37\x00\x36\x00\xb0\x00\x36\x00\xa4\x00\x43\x00\x37\x00\xa3\x00\x36\x00\x36\x00\xa2\x00\x9e\x00\x9d\x00\x93\x00\xc0\x00\xbf\x00\x94\x00\x36\x00\xc5\x00\xbe\x00\xc1\x00\x2d\x00\x99\x00\x2b\x00\x98\x00\x4d\x00\x87\x00\x86\x00\x75\x00\x80\x00\x7f\x00\xc3\x00\x7e\x00\x76\x00\x73\x00\x74\x00\xb1\x00\xae\x00\xac\x00\xab\x00\x00\x00\xbc\x00\xb8\x00\xb7\x00\xc6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 (24, 111) [
-	(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)
-	]
-
-happy_n_terms = 46 :: Prelude.Int
-happy_n_nonterms = 29 :: Prelude.Int
-
-happyReduce_24 = happySpecReduce_1  0# happyReduction_24
-happyReduction_24 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (PT _ (TC happy_var_1)) -> 
-	happyIn27
-		 ((read happy_var_1) :: Char
-	)}
-
-happyReduce_25 = happySpecReduce_1  1# happyReduction_25
-happyReduction_25 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (PT _ (TD happy_var_1)) -> 
-	happyIn28
-		 ((read happy_var_1) :: Double
-	)}
-
-happyReduce_26 = happySpecReduce_1  2# happyReduction_26
-happyReduction_26 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (PT _ (TI happy_var_1)) -> 
-	happyIn29
-		 ((read happy_var_1) :: Integer
-	)}
-
-happyReduce_27 = happySpecReduce_1  3# happyReduction_27
-happyReduction_27 happy_x_1
-	 =  case happyOutTok happy_x_1 of { (PT _ (TL happy_var_1)) -> 
-	happyIn30
-		 (happy_var_1
-	)}
-
-happyReduce_28 = happySpecReduce_1  4# happyReduction_28
-happyReduction_28 happy_x_1
-	 =  case happyOutTok happy_x_1 of { happy_var_1 -> 
-	happyIn31
-		 (BNFC.Abs.Identifier (mkPosToken happy_var_1)
-	)}
-
-happyReduce_29 = happySpecReduce_1  5# happyReduction_29
-happyReduction_29 happy_x_1
-	 =  case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) -> 
-	happyIn32
-		 (BNFC.Abs.Grammar happy_var_1
-	)}
-
-happyReduce_30 = happySpecReduce_0  6# happyReduction_30
-happyReduction_30  =  happyIn33
-		 ([]
-	)
-
-happyReduce_31 = happySpecReduce_1  6# happyReduction_31
-happyReduction_31 happy_x_1
-	 =  case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> 
-	happyIn33
-		 ((:[]) happy_var_1
-	)}
-
-happyReduce_32 = happySpecReduce_3  6# happyReduction_32
-happyReduction_32 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) -> 
-	case happyOut33 happy_x_3 of { (HappyWrap33 happy_var_3) -> 
-	happyIn33
-		 ((:) happy_var_1 happy_var_3
-	)}}
-
-happyReduce_33 = happySpecReduce_2  6# happyReduction_33
-happyReduction_33 happy_x_2
-	happy_x_1
-	 =  case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) -> 
-	happyIn33
-		 (happy_var_2
-	)}
-
-happyReduce_34 = happyReduce 5# 7# happyReduction_34
-happyReduction_34 (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 { (HappyWrap39 happy_var_1) -> 
-	case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) -> 
-	case happyOut36 happy_x_5 of { (HappyWrap36 happy_var_5) -> 
-	happyIn34
-		 (BNFC.Abs.Rule happy_var_1 happy_var_3 happy_var_5
-	) `HappyStk` happyRest}}}
-
-happyReduce_35 = happySpecReduce_2  7# happyReduction_35
-happyReduction_35 happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 
-	happyIn34
-		 (BNFC.Abs.Comment happy_var_2
-	)}
-
-happyReduce_36 = happySpecReduce_3  7# happyReduction_36
-happyReduction_36 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 
-	case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) -> 
-	happyIn34
-		 (BNFC.Abs.Comments happy_var_2 happy_var_3
-	)}}
-
-happyReduce_37 = happyReduce 6# 7# 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)
-	 = case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) -> 
-	case happyOut37 happy_x_4 of { (HappyWrap37 happy_var_4) -> 
-	case happyOut36 happy_x_6 of { (HappyWrap36 happy_var_6) -> 
-	happyIn34
-		 (BNFC.Abs.Internal happy_var_2 happy_var_4 happy_var_6
-	) `HappyStk` happyRest}}}
-
-happyReduce_38 = happySpecReduce_3  7# happyReduction_38
-happyReduction_38 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> 
-	case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) -> 
-	happyIn34
-		 (BNFC.Abs.Token happy_var_2 happy_var_3
-	)}}
-
-happyReduce_39 = happyReduce 4# 7# happyReduction_39
-happyReduction_39 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut31 happy_x_3 of { (HappyWrap31 happy_var_3) -> 
-	case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) -> 
-	happyIn34
-		 (BNFC.Abs.PosToken happy_var_3 happy_var_4
-	) `HappyStk` happyRest}}
-
-happyReduce_40 = happySpecReduce_2  7# happyReduction_40
-happyReduction_40 happy_x_2
-	happy_x_1
-	 =  case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) -> 
-	happyIn34
-		 (BNFC.Abs.Entryp happy_var_2
-	)}
-
-happyReduce_41 = happyReduce 4# 7# happyReduction_41
-happyReduction_41 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-	case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) -> 
-	case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) -> 
-	happyIn34
-		 (BNFC.Abs.Separator happy_var_2 happy_var_3 happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_42 = happyReduce 4# 7# happyReduction_42
-happyReduction_42 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) -> 
-	case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) -> 
-	case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) -> 
-	happyIn34
-		 (BNFC.Abs.Terminator happy_var_2 happy_var_3 happy_var_4
-	) `HappyStk` happyRest}}}
-
-happyReduce_43 = happyReduce 6# 7# happyReduction_43
-happyReduction_43 (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 happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) -> 
-	case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) -> 
-	case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) -> 
-	case happyOut42 happy_x_5 of { (HappyWrap42 happy_var_5) -> 
-	case happyOut51 happy_x_6 of { (HappyWrap51 happy_var_6) -> 
-	happyIn34
-		 (BNFC.Abs.Delimiters happy_var_2 happy_var_3 happy_var_4 happy_var_5 happy_var_6
-	) `HappyStk` happyRest}}}}}
-
-happyReduce_44 = happySpecReduce_3  7# happyReduction_44
-happyReduction_44 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> 
-	case happyOut29 happy_x_3 of { (HappyWrap29 happy_var_3) -> 
-	happyIn34
-		 (BNFC.Abs.Coercions happy_var_2 happy_var_3
-	)}}
-
-happyReduce_45 = happyReduce 4# 7# happyReduction_45
-happyReduction_45 (happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> 
-	case happyOut50 happy_x_4 of { (HappyWrap50 happy_var_4) -> 
-	happyIn34
-		 (BNFC.Abs.Rules happy_var_2 happy_var_4
-	) `HappyStk` happyRest}}
-
-happyReduce_46 = happyReduce 5# 7# happyReduction_46
-happyReduction_46 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) -> 
-	case happyOut41 happy_x_3 of { (HappyWrap41 happy_var_3) -> 
-	case happyOut44 happy_x_5 of { (HappyWrap44 happy_var_5) -> 
-	happyIn34
-		 (BNFC.Abs.Function happy_var_2 happy_var_3 happy_var_5
-	) `HappyStk` happyRest}}}
-
-happyReduce_47 = happySpecReduce_2  7# happyReduction_47
-happyReduction_47 happy_x_2
-	happy_x_1
-	 =  case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) -> 
-	happyIn34
-		 (BNFC.Abs.Layout happy_var_2
-	)}
-
-happyReduce_48 = happySpecReduce_3  7# happyReduction_48
-happyReduction_48 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) -> 
-	happyIn34
-		 (BNFC.Abs.LayoutStop happy_var_3
-	)}
-
-happyReduce_49 = happySpecReduce_2  7# happyReduction_49
-happyReduction_49 happy_x_2
-	happy_x_1
-	 =  happyIn34
-		 (BNFC.Abs.LayoutTop
-	)
-
-happyReduce_50 = happySpecReduce_1  8# happyReduction_50
-happyReduction_50 happy_x_1
-	 =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> 
-	happyIn35
-		 (BNFC.Abs.Terminal happy_var_1
-	)}
-
-happyReduce_51 = happySpecReduce_1  8# happyReduction_51
-happyReduction_51 happy_x_1
-	 =  case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) -> 
-	happyIn35
-		 (BNFC.Abs.NTerminal happy_var_1
-	)}
-
-happyReduce_52 = happySpecReduce_0  9# happyReduction_52
-happyReduction_52  =  happyIn36
-		 ([]
-	)
-
-happyReduce_53 = happySpecReduce_2  9# happyReduction_53
-happyReduction_53 happy_x_2
-	happy_x_1
-	 =  case happyOut35 happy_x_1 of { (HappyWrap35 happy_var_1) -> 
-	case happyOut36 happy_x_2 of { (HappyWrap36 happy_var_2) -> 
-	happyIn36
-		 ((:) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_54 = happySpecReduce_3  10# happyReduction_54
-happyReduction_54 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) -> 
-	happyIn37
-		 (BNFC.Abs.ListCat happy_var_2
-	)}
-
-happyReduce_55 = happySpecReduce_1  10# happyReduction_55
-happyReduction_55 happy_x_1
-	 =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> 
-	happyIn37
-		 (BNFC.Abs.IdCat happy_var_1
-	)}
-
-happyReduce_56 = happySpecReduce_0  11# happyReduction_56
-happyReduction_56  =  happyIn38
-		 ([]
-	)
-
-happyReduce_57 = happySpecReduce_1  11# happyReduction_57
-happyReduction_57 happy_x_1
-	 =  case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) -> 
-	happyIn38
-		 ((:[]) happy_var_1
-	)}
-
-happyReduce_58 = happySpecReduce_3  11# happyReduction_58
-happyReduction_58 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) -> 
-	case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) -> 
-	happyIn38
-		 ((:) happy_var_1 happy_var_3
-	)}}
-
-happyReduce_59 = happySpecReduce_1  12# happyReduction_59
-happyReduction_59 happy_x_1
-	 =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> 
-	happyIn39
-		 (BNFC.Abs.Id happy_var_1
-	)}
-
-happyReduce_60 = happySpecReduce_1  12# happyReduction_60
-happyReduction_60 happy_x_1
-	 =  happyIn39
-		 (BNFC.Abs.Wild
-	)
-
-happyReduce_61 = happySpecReduce_2  12# happyReduction_61
-happyReduction_61 happy_x_2
-	happy_x_1
-	 =  happyIn39
-		 (BNFC.Abs.ListE
-	)
-
-happyReduce_62 = happySpecReduce_3  12# happyReduction_62
-happyReduction_62 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  happyIn39
-		 (BNFC.Abs.ListCons
-	)
-
-happyReduce_63 = happyReduce 5# 12# happyReduction_63
-happyReduction_63 (happy_x_5 `HappyStk`
-	happy_x_4 `HappyStk`
-	happy_x_3 `HappyStk`
-	happy_x_2 `HappyStk`
-	happy_x_1 `HappyStk`
-	happyRest)
-	 = happyIn39
-		 (BNFC.Abs.ListOne
-	) `HappyStk` happyRest
-
-happyReduce_64 = happySpecReduce_1  13# happyReduction_64
-happyReduction_64 happy_x_1
-	 =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> 
-	happyIn40
-		 (BNFC.Abs.Arg happy_var_1
-	)}
-
-happyReduce_65 = happySpecReduce_0  14# happyReduction_65
-happyReduction_65  =  happyIn41
-		 ([]
-	)
-
-happyReduce_66 = happySpecReduce_2  14# happyReduction_66
-happyReduction_66 happy_x_2
-	happy_x_1
-	 =  case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) -> 
-	case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) -> 
-	happyIn41
-		 ((:) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_67 = happySpecReduce_0  15# happyReduction_67
-happyReduction_67  =  happyIn42
-		 (BNFC.Abs.SepNone
-	)
-
-happyReduce_68 = happySpecReduce_2  15# happyReduction_68
-happyReduction_68 happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 
-	happyIn42
-		 (BNFC.Abs.SepTerm happy_var_2
-	)}
-
-happyReduce_69 = happySpecReduce_2  15# happyReduction_69
-happyReduction_69 happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 
-	happyIn42
-		 (BNFC.Abs.SepSepar happy_var_2
-	)}
-
-happyReduce_70 = happySpecReduce_1  16# happyReduction_70
-happyReduction_70 happy_x_1
-	 =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> 
-	happyIn43
-		 ((:[]) happy_var_1
-	)}
-
-happyReduce_71 = happySpecReduce_3  16# happyReduction_71
-happyReduction_71 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> 
-	case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) -> 
-	happyIn43
-		 ((:) happy_var_1 happy_var_3
-	)}}
-
-happyReduce_72 = happySpecReduce_3  17# happyReduction_72
-happyReduction_72 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) -> 
-	case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) -> 
-	happyIn44
-		 (BNFC.Abs.Cons happy_var_1 happy_var_3
-	)}}
-
-happyReduce_73 = happySpecReduce_1  17# happyReduction_73
-happyReduction_73 happy_x_1
-	 =  case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) -> 
-	happyIn44
-		 (happy_var_1
-	)}
-
-happyReduce_74 = happySpecReduce_2  18# happyReduction_74
-happyReduction_74 happy_x_2
-	happy_x_1
-	 =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> 
-	case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) -> 
-	happyIn45
-		 (BNFC.Abs.App happy_var_1 happy_var_2
-	)}}
-
-happyReduce_75 = happySpecReduce_1  18# happyReduction_75
-happyReduction_75 happy_x_1
-	 =  case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> 
-	happyIn45
-		 (happy_var_1
-	)}
-
-happyReduce_76 = happySpecReduce_1  19# happyReduction_76
-happyReduction_76 happy_x_1
-	 =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) -> 
-	happyIn46
-		 (BNFC.Abs.Var happy_var_1
-	)}
-
-happyReduce_77 = happySpecReduce_1  19# happyReduction_77
-happyReduction_77 happy_x_1
-	 =  case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) -> 
-	happyIn46
-		 (BNFC.Abs.LitInt happy_var_1
-	)}
-
-happyReduce_78 = happySpecReduce_1  19# happyReduction_78
-happyReduction_78 happy_x_1
-	 =  case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) -> 
-	happyIn46
-		 (BNFC.Abs.LitChar happy_var_1
-	)}
-
-happyReduce_79 = happySpecReduce_1  19# happyReduction_79
-happyReduction_79 happy_x_1
-	 =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) -> 
-	happyIn46
-		 (BNFC.Abs.LitString happy_var_1
-	)}
-
-happyReduce_80 = happySpecReduce_1  19# happyReduction_80
-happyReduction_80 happy_x_1
-	 =  case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) -> 
-	happyIn46
-		 (BNFC.Abs.LitDouble happy_var_1
-	)}
-
-happyReduce_81 = happySpecReduce_3  19# happyReduction_81
-happyReduction_81 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut47 happy_x_2 of { (HappyWrap47 happy_var_2) -> 
-	happyIn46
-		 (BNFC.Abs.List happy_var_2
-	)}
-
-happyReduce_82 = happySpecReduce_3  19# happyReduction_82
-happyReduction_82 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) -> 
-	happyIn46
-		 (happy_var_2
-	)}
-
-happyReduce_83 = happySpecReduce_0  20# happyReduction_83
-happyReduction_83  =  happyIn47
-		 ([]
-	)
-
-happyReduce_84 = happySpecReduce_1  20# happyReduction_84
-happyReduction_84 happy_x_1
-	 =  case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> 
-	happyIn47
-		 ((:[]) happy_var_1
-	)}
-
-happyReduce_85 = happySpecReduce_3  20# happyReduction_85
-happyReduction_85 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) -> 
-	case happyOut47 happy_x_3 of { (HappyWrap47 happy_var_3) -> 
-	happyIn47
-		 ((:) happy_var_1 happy_var_3
-	)}}
-
-happyReduce_86 = happySpecReduce_1  21# happyReduction_86
-happyReduction_86 happy_x_1
-	 =  case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> 
-	happyIn48
-		 ((:[]) happy_var_1
-	)}
-
-happyReduce_87 = happySpecReduce_2  21# happyReduction_87
-happyReduction_87 happy_x_2
-	happy_x_1
-	 =  case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) -> 
-	case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) -> 
-	happyIn48
-		 ((:) happy_var_1 happy_var_2
-	)}}
-
-happyReduce_88 = happySpecReduce_1  22# happyReduction_88
-happyReduction_88 happy_x_1
-	 =  case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) -> 
-	happyIn49
-		 (BNFC.Abs.RHS happy_var_1
-	)}
-
-happyReduce_89 = happySpecReduce_1  23# happyReduction_89
-happyReduction_89 happy_x_1
-	 =  case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> 
-	happyIn50
-		 ((:[]) happy_var_1
-	)}
-
-happyReduce_90 = happySpecReduce_3  23# happyReduction_90
-happyReduction_90 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) -> 
-	case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) -> 
-	happyIn50
-		 ((:) happy_var_1 happy_var_3
-	)}}
-
-happyReduce_91 = happySpecReduce_1  24# happyReduction_91
-happyReduction_91 happy_x_1
-	 =  happyIn51
-		 (BNFC.Abs.MNonempty
-	)
-
-happyReduce_92 = happySpecReduce_0  24# happyReduction_92
-happyReduction_92  =  happyIn51
-		 (BNFC.Abs.MEmpty
-	)
-
-happyReduce_93 = happySpecReduce_3  25# happyReduction_93
-happyReduction_93 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) -> 
-	case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) -> 
-	happyIn52
-		 (BNFC.Abs.RAlt happy_var_1 happy_var_3
-	)}}
-
-happyReduce_94 = happySpecReduce_1  25# happyReduction_94
-happyReduction_94 happy_x_1
-	 =  case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> 
-	happyIn52
-		 (happy_var_1
-	)}
-
-happyReduce_95 = happySpecReduce_3  26# happyReduction_95
-happyReduction_95 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) -> 
-	case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) -> 
-	happyIn53
-		 (BNFC.Abs.RMinus happy_var_1 happy_var_3
-	)}}
-
-happyReduce_96 = happySpecReduce_1  26# happyReduction_96
-happyReduction_96 happy_x_1
-	 =  case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> 
-	happyIn53
-		 (happy_var_1
-	)}
-
-happyReduce_97 = happySpecReduce_2  27# happyReduction_97
-happyReduction_97 happy_x_2
-	happy_x_1
-	 =  case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) -> 
-	case happyOut55 happy_x_2 of { (HappyWrap55 happy_var_2) -> 
-	happyIn54
-		 (BNFC.Abs.RSeq happy_var_1 happy_var_2
-	)}}
-
-happyReduce_98 = happySpecReduce_1  27# happyReduction_98
-happyReduction_98 happy_x_1
-	 =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> 
-	happyIn54
-		 (happy_var_1
-	)}
-
-happyReduce_99 = happySpecReduce_2  28# happyReduction_99
-happyReduction_99 happy_x_2
-	happy_x_1
-	 =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> 
-	happyIn55
-		 (BNFC.Abs.RStar happy_var_1
-	)}
-
-happyReduce_100 = happySpecReduce_2  28# happyReduction_100
-happyReduction_100 happy_x_2
-	happy_x_1
-	 =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> 
-	happyIn55
-		 (BNFC.Abs.RPlus happy_var_1
-	)}
-
-happyReduce_101 = happySpecReduce_2  28# happyReduction_101
-happyReduction_101 happy_x_2
-	happy_x_1
-	 =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) -> 
-	happyIn55
-		 (BNFC.Abs.ROpt happy_var_1
-	)}
-
-happyReduce_102 = happySpecReduce_1  28# happyReduction_102
-happyReduction_102 happy_x_1
-	 =  happyIn55
-		 (BNFC.Abs.REps
-	)
-
-happyReduce_103 = happySpecReduce_1  28# happyReduction_103
-happyReduction_103 happy_x_1
-	 =  case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) -> 
-	happyIn55
-		 (BNFC.Abs.RChar happy_var_1
-	)}
-
-happyReduce_104 = happySpecReduce_3  28# happyReduction_104
-happyReduction_104 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 
-	happyIn55
-		 (BNFC.Abs.RAlts happy_var_2
-	)}
-
-happyReduce_105 = happySpecReduce_3  28# happyReduction_105
-happyReduction_105 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) -> 
-	happyIn55
-		 (BNFC.Abs.RSeqs happy_var_2
-	)}
-
-happyReduce_106 = happySpecReduce_1  28# happyReduction_106
-happyReduction_106 happy_x_1
-	 =  happyIn55
-		 (BNFC.Abs.RDigit
-	)
-
-happyReduce_107 = happySpecReduce_1  28# happyReduction_107
-happyReduction_107 happy_x_1
-	 =  happyIn55
-		 (BNFC.Abs.RLetter
-	)
-
-happyReduce_108 = happySpecReduce_1  28# happyReduction_108
-happyReduction_108 happy_x_1
-	 =  happyIn55
-		 (BNFC.Abs.RUpper
-	)
-
-happyReduce_109 = happySpecReduce_1  28# happyReduction_109
-happyReduction_109 happy_x_1
-	 =  happyIn55
-		 (BNFC.Abs.RLower
-	)
-
-happyReduce_110 = happySpecReduce_1  28# happyReduction_110
-happyReduction_110 happy_x_1
-	 =  happyIn55
-		 (BNFC.Abs.RAny
-	)
-
-happyReduce_111 = happySpecReduce_3  28# happyReduction_111
-happyReduction_111 happy_x_3
-	happy_x_2
-	happy_x_1
-	 =  case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) -> 
-	happyIn55
-		 (happy_var_2
-	)}
-
-happyNewToken action sts stk [] =
-	happyDoAction 45# notHappyAtAll action sts stk []
-
-happyNewToken action sts stk (tk:tks) =
-	let cont i = happyDoAction i tk action sts stk tks in
-	case tk of {
-	PT _ (TS _ 1) -> cont 1#;
-	PT _ (TS _ 2) -> cont 2#;
-	PT _ (TS _ 3) -> cont 3#;
-	PT _ (TS _ 4) -> cont 4#;
-	PT _ (TS _ 5) -> cont 5#;
-	PT _ (TS _ 6) -> cont 6#;
-	PT _ (TS _ 7) -> cont 7#;
-	PT _ (TS _ 8) -> cont 8#;
-	PT _ (TS _ 9) -> cont 9#;
-	PT _ (TS _ 10) -> cont 10#;
-	PT _ (TS _ 11) -> cont 11#;
-	PT _ (TS _ 12) -> cont 12#;
-	PT _ (TS _ 13) -> cont 13#;
-	PT _ (TS _ 14) -> cont 14#;
-	PT _ (TS _ 15) -> cont 15#;
-	PT _ (TS _ 16) -> cont 16#;
-	PT _ (TS _ 17) -> cont 17#;
-	PT _ (TS _ 18) -> cont 18#;
-	PT _ (TS _ 19) -> cont 19#;
-	PT _ (TS _ 20) -> cont 20#;
-	PT _ (TS _ 21) -> cont 21#;
-	PT _ (TS _ 22) -> cont 22#;
-	PT _ (TS _ 23) -> cont 23#;
-	PT _ (TS _ 24) -> cont 24#;
-	PT _ (TS _ 25) -> cont 25#;
-	PT _ (TS _ 26) -> cont 26#;
-	PT _ (TS _ 27) -> cont 27#;
-	PT _ (TS _ 28) -> cont 28#;
-	PT _ (TS _ 29) -> cont 29#;
-	PT _ (TS _ 30) -> cont 30#;
-	PT _ (TS _ 31) -> cont 31#;
-	PT _ (TS _ 32) -> cont 32#;
-	PT _ (TS _ 33) -> cont 33#;
-	PT _ (TS _ 34) -> cont 34#;
-	PT _ (TS _ 35) -> cont 35#;
-	PT _ (TS _ 36) -> cont 36#;
-	PT _ (TS _ 37) -> cont 37#;
-	PT _ (TS _ 38) -> cont 38#;
-	PT _ (TS _ 39) -> cont 39#;
-	PT _ (TC happy_dollar_dollar) -> cont 40#;
-	PT _ (TD happy_dollar_dollar) -> cont 41#;
-	PT _ (TI happy_dollar_dollar) -> cont 42#;
-	PT _ (TL happy_dollar_dollar) -> cont 43#;
-	PT _ (T_Identifier _) -> cont 44#;
-	_ -> happyError' ((tk:tks), [])
-	}
+        (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)
+        ]
+
+happy_n_terms = 46 :: Prelude.Int
+happy_n_nonterms = 29 :: Prelude.Int
+
+happyReduce_24 = happySpecReduce_1  0# happyReduction_24
+happyReduction_24 happy_x_1
+         =  case happyOutTok happy_x_1 of { (PT _ (TC happy_var_1)) ->
+        happyIn27
+                 ((read happy_var_1) :: Char
+        )}
+
+happyReduce_25 = happySpecReduce_1  1# happyReduction_25
+happyReduction_25 happy_x_1
+         =  case happyOutTok happy_x_1 of { (PT _ (TD happy_var_1)) ->
+        happyIn28
+                 ((read happy_var_1) :: Double
+        )}
+
+happyReduce_26 = happySpecReduce_1  2# happyReduction_26
+happyReduction_26 happy_x_1
+         =  case happyOutTok happy_x_1 of { (PT _ (TI happy_var_1)) ->
+        happyIn29
+                 ((read happy_var_1) :: Integer
+        )}
+
+happyReduce_27 = happySpecReduce_1  3# happyReduction_27
+happyReduction_27 happy_x_1
+         =  case happyOutTok happy_x_1 of { (PT _ (TL happy_var_1)) ->
+        happyIn30
+                 (happy_var_1
+        )}
+
+happyReduce_28 = happySpecReduce_1  4# happyReduction_28
+happyReduction_28 happy_x_1
+         =  case happyOutTok happy_x_1 of { happy_var_1 ->
+        happyIn31
+                 (BNFC.Abs.Identifier (mkPosToken happy_var_1)
+        )}
+
+happyReduce_29 = happySpecReduce_1  5# happyReduction_29
+happyReduction_29 happy_x_1
+         =  case happyOut33 happy_x_1 of { (HappyWrap33 happy_var_1) ->
+        happyIn32
+                 (BNFC.Abs.Grammar happy_var_1
+        )}
+
+happyReduce_30 = happySpecReduce_0  6# happyReduction_30
+happyReduction_30  =  happyIn33
+                 ([]
+        )
+
+happyReduce_31 = happySpecReduce_1  6# happyReduction_31
+happyReduction_31 happy_x_1
+         =  case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
+        happyIn33
+                 ((:[]) happy_var_1
+        )}
+
+happyReduce_32 = happySpecReduce_3  6# happyReduction_32
+happyReduction_32 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut34 happy_x_1 of { (HappyWrap34 happy_var_1) ->
+        case happyOut33 happy_x_3 of { (HappyWrap33 happy_var_3) ->
+        happyIn33
+                 ((:) happy_var_1 happy_var_3
+        )}}
+
+happyReduce_33 = happySpecReduce_2  6# happyReduction_33
+happyReduction_33 happy_x_2
+        happy_x_1
+         =  case happyOut33 happy_x_2 of { (HappyWrap33 happy_var_2) ->
+        happyIn33
+                 (happy_var_2
+        )}
+
+happyReduce_34 = happyReduce 5# 7# happyReduction_34
+happyReduction_34 (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 { (HappyWrap39 happy_var_1) ->
+        case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) ->
+        case happyOut36 happy_x_5 of { (HappyWrap36 happy_var_5) ->
+        happyIn34
+                 (BNFC.Abs.Rule happy_var_1 happy_var_3 happy_var_5
+        ) `HappyStk` happyRest}}}
+
+happyReduce_35 = happySpecReduce_2  7# happyReduction_35
+happyReduction_35 happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->
+        happyIn34
+                 (BNFC.Abs.Comment happy_var_2
+        )}
+
+happyReduce_36 = happySpecReduce_3  7# happyReduction_36
+happyReduction_36 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->
+        case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) ->
+        happyIn34
+                 (BNFC.Abs.Comments happy_var_2 happy_var_3
+        )}}
+
+happyReduce_37 = happyReduce 6# 7# 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)
+         = case happyOut39 happy_x_2 of { (HappyWrap39 happy_var_2) ->
+        case happyOut37 happy_x_4 of { (HappyWrap37 happy_var_4) ->
+        case happyOut36 happy_x_6 of { (HappyWrap36 happy_var_6) ->
+        happyIn34
+                 (BNFC.Abs.Internal happy_var_2 happy_var_4 happy_var_6
+        ) `HappyStk` happyRest}}}
+
+happyReduce_38 = happySpecReduce_3  7# happyReduction_38
+happyReduction_38 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
+        case happyOut52 happy_x_3 of { (HappyWrap52 happy_var_3) ->
+        happyIn34
+                 (BNFC.Abs.Token happy_var_2 happy_var_3
+        )}}
+
+happyReduce_39 = happyReduce 4# 7# happyReduction_39
+happyReduction_39 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut31 happy_x_3 of { (HappyWrap31 happy_var_3) ->
+        case happyOut52 happy_x_4 of { (HappyWrap52 happy_var_4) ->
+        happyIn34
+                 (BNFC.Abs.PosToken happy_var_3 happy_var_4
+        ) `HappyStk` happyRest}}
+
+happyReduce_40 = happySpecReduce_2  7# happyReduction_40
+happyReduction_40 happy_x_2
+        happy_x_1
+         =  case happyOut38 happy_x_2 of { (HappyWrap38 happy_var_2) ->
+        happyIn34
+                 (BNFC.Abs.Entryp happy_var_2
+        )}
+
+happyReduce_41 = happyReduce 4# 7# happyReduction_41
+happyReduction_41 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) ->
+        case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) ->
+        case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) ->
+        happyIn34
+                 (BNFC.Abs.Separator happy_var_2 happy_var_3 happy_var_4
+        ) `HappyStk` happyRest}}}
+
+happyReduce_42 = happyReduce 4# 7# happyReduction_42
+happyReduction_42 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut51 happy_x_2 of { (HappyWrap51 happy_var_2) ->
+        case happyOut37 happy_x_3 of { (HappyWrap37 happy_var_3) ->
+        case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) ->
+        happyIn34
+                 (BNFC.Abs.Terminator happy_var_2 happy_var_3 happy_var_4
+        ) `HappyStk` happyRest}}}
+
+happyReduce_43 = happyReduce 6# 7# happyReduction_43
+happyReduction_43 (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 happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) ->
+        case happyOut30 happy_x_3 of { (HappyWrap30 happy_var_3) ->
+        case happyOut30 happy_x_4 of { (HappyWrap30 happy_var_4) ->
+        case happyOut42 happy_x_5 of { (HappyWrap42 happy_var_5) ->
+        case happyOut51 happy_x_6 of { (HappyWrap51 happy_var_6) ->
+        happyIn34
+                 (BNFC.Abs.Delimiters happy_var_2 happy_var_3 happy_var_4 happy_var_5 happy_var_6
+        ) `HappyStk` happyRest}}}}}
+
+happyReduce_44 = happySpecReduce_3  7# happyReduction_44
+happyReduction_44 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
+        case happyOut29 happy_x_3 of { (HappyWrap29 happy_var_3) ->
+        happyIn34
+                 (BNFC.Abs.Coercions happy_var_2 happy_var_3
+        )}}
+
+happyReduce_45 = happyReduce 4# 7# happyReduction_45
+happyReduction_45 (happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
+        case happyOut50 happy_x_4 of { (HappyWrap50 happy_var_4) ->
+        happyIn34
+                 (BNFC.Abs.Rules happy_var_2 happy_var_4
+        ) `HappyStk` happyRest}}
+
+happyReduce_46 = happyReduce 5# 7# happyReduction_46
+happyReduction_46 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = case happyOut31 happy_x_2 of { (HappyWrap31 happy_var_2) ->
+        case happyOut41 happy_x_3 of { (HappyWrap41 happy_var_3) ->
+        case happyOut44 happy_x_5 of { (HappyWrap44 happy_var_5) ->
+        happyIn34
+                 (BNFC.Abs.Function happy_var_2 happy_var_3 happy_var_5
+        ) `HappyStk` happyRest}}}
+
+happyReduce_47 = happySpecReduce_2  7# happyReduction_47
+happyReduction_47 happy_x_2
+        happy_x_1
+         =  case happyOut43 happy_x_2 of { (HappyWrap43 happy_var_2) ->
+        happyIn34
+                 (BNFC.Abs.Layout happy_var_2
+        )}
+
+happyReduce_48 = happySpecReduce_3  7# happyReduction_48
+happyReduction_48 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) ->
+        happyIn34
+                 (BNFC.Abs.LayoutStop happy_var_3
+        )}
+
+happyReduce_49 = happySpecReduce_2  7# happyReduction_49
+happyReduction_49 happy_x_2
+        happy_x_1
+         =  happyIn34
+                 (BNFC.Abs.LayoutTop
+        )
+
+happyReduce_50 = happySpecReduce_1  8# happyReduction_50
+happyReduction_50 happy_x_1
+         =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->
+        happyIn35
+                 (BNFC.Abs.Terminal happy_var_1
+        )}
+
+happyReduce_51 = happySpecReduce_1  8# happyReduction_51
+happyReduction_51 happy_x_1
+         =  case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->
+        happyIn35
+                 (BNFC.Abs.NTerminal happy_var_1
+        )}
+
+happyReduce_52 = happySpecReduce_0  9# happyReduction_52
+happyReduction_52  =  happyIn36
+                 ([]
+        )
+
+happyReduce_53 = happySpecReduce_2  9# happyReduction_53
+happyReduction_53 happy_x_2
+        happy_x_1
+         =  case happyOut35 happy_x_1 of { (HappyWrap35 happy_var_1) ->
+        case happyOut36 happy_x_2 of { (HappyWrap36 happy_var_2) ->
+        happyIn36
+                 ((:) happy_var_1 happy_var_2
+        )}}
+
+happyReduce_54 = happySpecReduce_3  10# happyReduction_54
+happyReduction_54 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut37 happy_x_2 of { (HappyWrap37 happy_var_2) ->
+        happyIn37
+                 (BNFC.Abs.ListCat happy_var_2
+        )}
+
+happyReduce_55 = happySpecReduce_1  10# happyReduction_55
+happyReduction_55 happy_x_1
+         =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->
+        happyIn37
+                 (BNFC.Abs.IdCat happy_var_1
+        )}
+
+happyReduce_56 = happySpecReduce_0  11# happyReduction_56
+happyReduction_56  =  happyIn38
+                 ([]
+        )
+
+happyReduce_57 = happySpecReduce_1  11# happyReduction_57
+happyReduction_57 happy_x_1
+         =  case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->
+        happyIn38
+                 ((:[]) happy_var_1
+        )}
+
+happyReduce_58 = happySpecReduce_3  11# happyReduction_58
+happyReduction_58 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut37 happy_x_1 of { (HappyWrap37 happy_var_1) ->
+        case happyOut38 happy_x_3 of { (HappyWrap38 happy_var_3) ->
+        happyIn38
+                 ((:) happy_var_1 happy_var_3
+        )}}
+
+happyReduce_59 = happySpecReduce_1  12# happyReduction_59
+happyReduction_59 happy_x_1
+         =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->
+        happyIn39
+                 (BNFC.Abs.Id happy_var_1
+        )}
+
+happyReduce_60 = happySpecReduce_1  12# happyReduction_60
+happyReduction_60 happy_x_1
+         =  happyIn39
+                 (BNFC.Abs.Wild
+        )
+
+happyReduce_61 = happySpecReduce_2  12# happyReduction_61
+happyReduction_61 happy_x_2
+        happy_x_1
+         =  happyIn39
+                 (BNFC.Abs.ListE
+        )
+
+happyReduce_62 = happySpecReduce_3  12# happyReduction_62
+happyReduction_62 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  happyIn39
+                 (BNFC.Abs.ListCons
+        )
+
+happyReduce_63 = happyReduce 5# 12# happyReduction_63
+happyReduction_63 (happy_x_5 `HappyStk`
+        happy_x_4 `HappyStk`
+        happy_x_3 `HappyStk`
+        happy_x_2 `HappyStk`
+        happy_x_1 `HappyStk`
+        happyRest)
+         = happyIn39
+                 (BNFC.Abs.ListOne
+        ) `HappyStk` happyRest
+
+happyReduce_64 = happySpecReduce_1  13# happyReduction_64
+happyReduction_64 happy_x_1
+         =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->
+        happyIn40
+                 (BNFC.Abs.Arg happy_var_1
+        )}
+
+happyReduce_65 = happySpecReduce_0  14# happyReduction_65
+happyReduction_65  =  happyIn41
+                 ([]
+        )
+
+happyReduce_66 = happySpecReduce_2  14# happyReduction_66
+happyReduction_66 happy_x_2
+        happy_x_1
+         =  case happyOut40 happy_x_1 of { (HappyWrap40 happy_var_1) ->
+        case happyOut41 happy_x_2 of { (HappyWrap41 happy_var_2) ->
+        happyIn41
+                 ((:) happy_var_1 happy_var_2
+        )}}
+
+happyReduce_67 = happySpecReduce_0  15# happyReduction_67
+happyReduction_67  =  happyIn42
+                 (BNFC.Abs.SepNone
+        )
+
+happyReduce_68 = happySpecReduce_2  15# happyReduction_68
+happyReduction_68 happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->
+        happyIn42
+                 (BNFC.Abs.SepTerm happy_var_2
+        )}
+
+happyReduce_69 = happySpecReduce_2  15# happyReduction_69
+happyReduction_69 happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->
+        happyIn42
+                 (BNFC.Abs.SepSepar happy_var_2
+        )}
+
+happyReduce_70 = happySpecReduce_1  16# happyReduction_70
+happyReduction_70 happy_x_1
+         =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->
+        happyIn43
+                 ((:[]) happy_var_1
+        )}
+
+happyReduce_71 = happySpecReduce_3  16# happyReduction_71
+happyReduction_71 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->
+        case happyOut43 happy_x_3 of { (HappyWrap43 happy_var_3) ->
+        happyIn43
+                 ((:) happy_var_1 happy_var_3
+        )}}
+
+happyReduce_72 = happySpecReduce_3  17# happyReduction_72
+happyReduction_72 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
+        case happyOut44 happy_x_3 of { (HappyWrap44 happy_var_3) ->
+        happyIn44
+                 (BNFC.Abs.Cons happy_var_1 happy_var_3
+        )}}
+
+happyReduce_73 = happySpecReduce_1  17# happyReduction_73
+happyReduction_73 happy_x_1
+         =  case happyOut45 happy_x_1 of { (HappyWrap45 happy_var_1) ->
+        happyIn44
+                 (happy_var_1
+        )}
+
+happyReduce_74 = happySpecReduce_2  18# happyReduction_74
+happyReduction_74 happy_x_2
+        happy_x_1
+         =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->
+        case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) ->
+        happyIn45
+                 (BNFC.Abs.App happy_var_1 happy_var_2
+        )}}
+
+happyReduce_75 = happySpecReduce_1  18# happyReduction_75
+happyReduction_75 happy_x_1
+         =  case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+        happyIn45
+                 (happy_var_1
+        )}
+
+happyReduce_76 = happySpecReduce_1  19# happyReduction_76
+happyReduction_76 happy_x_1
+         =  case happyOut31 happy_x_1 of { (HappyWrap31 happy_var_1) ->
+        happyIn46
+                 (BNFC.Abs.Var happy_var_1
+        )}
+
+happyReduce_77 = happySpecReduce_1  19# happyReduction_77
+happyReduction_77 happy_x_1
+         =  case happyOut29 happy_x_1 of { (HappyWrap29 happy_var_1) ->
+        happyIn46
+                 (BNFC.Abs.LitInt happy_var_1
+        )}
+
+happyReduce_78 = happySpecReduce_1  19# happyReduction_78
+happyReduction_78 happy_x_1
+         =  case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) ->
+        happyIn46
+                 (BNFC.Abs.LitChar happy_var_1
+        )}
+
+happyReduce_79 = happySpecReduce_1  19# happyReduction_79
+happyReduction_79 happy_x_1
+         =  case happyOut30 happy_x_1 of { (HappyWrap30 happy_var_1) ->
+        happyIn46
+                 (BNFC.Abs.LitString happy_var_1
+        )}
+
+happyReduce_80 = happySpecReduce_1  19# happyReduction_80
+happyReduction_80 happy_x_1
+         =  case happyOut28 happy_x_1 of { (HappyWrap28 happy_var_1) ->
+        happyIn46
+                 (BNFC.Abs.LitDouble happy_var_1
+        )}
+
+happyReduce_81 = happySpecReduce_3  19# happyReduction_81
+happyReduction_81 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut47 happy_x_2 of { (HappyWrap47 happy_var_2) ->
+        happyIn46
+                 (BNFC.Abs.List happy_var_2
+        )}
+
+happyReduce_82 = happySpecReduce_3  19# happyReduction_82
+happyReduction_82 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut44 happy_x_2 of { (HappyWrap44 happy_var_2) ->
+        happyIn46
+                 (happy_var_2
+        )}
+
+happyReduce_83 = happySpecReduce_0  20# happyReduction_83
+happyReduction_83  =  happyIn47
+                 ([]
+        )
+
+happyReduce_84 = happySpecReduce_1  20# happyReduction_84
+happyReduction_84 happy_x_1
+         =  case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->
+        happyIn47
+                 ((:[]) happy_var_1
+        )}
+
+happyReduce_85 = happySpecReduce_3  20# happyReduction_85
+happyReduction_85 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut44 happy_x_1 of { (HappyWrap44 happy_var_1) ->
+        case happyOut47 happy_x_3 of { (HappyWrap47 happy_var_3) ->
+        happyIn47
+                 ((:) happy_var_1 happy_var_3
+        )}}
+
+happyReduce_86 = happySpecReduce_1  21# happyReduction_86
+happyReduction_86 happy_x_1
+         =  case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+        happyIn48
+                 ((:[]) happy_var_1
+        )}
+
+happyReduce_87 = happySpecReduce_2  21# happyReduction_87
+happyReduction_87 happy_x_2
+        happy_x_1
+         =  case happyOut46 happy_x_1 of { (HappyWrap46 happy_var_1) ->
+        case happyOut48 happy_x_2 of { (HappyWrap48 happy_var_2) ->
+        happyIn48
+                 ((:) happy_var_1 happy_var_2
+        )}}
+
+happyReduce_88 = happySpecReduce_1  22# happyReduction_88
+happyReduction_88 happy_x_1
+         =  case happyOut36 happy_x_1 of { (HappyWrap36 happy_var_1) ->
+        happyIn49
+                 (BNFC.Abs.RHS happy_var_1
+        )}
+
+happyReduce_89 = happySpecReduce_1  23# happyReduction_89
+happyReduction_89 happy_x_1
+         =  case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
+        happyIn50
+                 ((:[]) happy_var_1
+        )}
+
+happyReduce_90 = happySpecReduce_3  23# happyReduction_90
+happyReduction_90 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut49 happy_x_1 of { (HappyWrap49 happy_var_1) ->
+        case happyOut50 happy_x_3 of { (HappyWrap50 happy_var_3) ->
+        happyIn50
+                 ((:) happy_var_1 happy_var_3
+        )}}
+
+happyReduce_91 = happySpecReduce_1  24# happyReduction_91
+happyReduction_91 happy_x_1
+         =  happyIn51
+                 (BNFC.Abs.MNonempty
+        )
+
+happyReduce_92 = happySpecReduce_0  24# happyReduction_92
+happyReduction_92  =  happyIn51
+                 (BNFC.Abs.MEmpty
+        )
+
+happyReduce_93 = happySpecReduce_3  25# happyReduction_93
+happyReduction_93 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_1 of { (HappyWrap52 happy_var_1) ->
+        case happyOut53 happy_x_3 of { (HappyWrap53 happy_var_3) ->
+        happyIn52
+                 (BNFC.Abs.RAlt happy_var_1 happy_var_3
+        )}}
+
+happyReduce_94 = happySpecReduce_1  25# happyReduction_94
+happyReduction_94 happy_x_1
+         =  case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->
+        happyIn52
+                 (happy_var_1
+        )}
+
+happyReduce_95 = happySpecReduce_3  26# happyReduction_95
+happyReduction_95 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut53 happy_x_1 of { (HappyWrap53 happy_var_1) ->
+        case happyOut54 happy_x_3 of { (HappyWrap54 happy_var_3) ->
+        happyIn53
+                 (BNFC.Abs.RMinus happy_var_1 happy_var_3
+        )}}
+
+happyReduce_96 = happySpecReduce_1  26# happyReduction_96
+happyReduction_96 happy_x_1
+         =  case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) ->
+        happyIn53
+                 (happy_var_1
+        )}
+
+happyReduce_97 = happySpecReduce_2  27# happyReduction_97
+happyReduction_97 happy_x_2
+        happy_x_1
+         =  case happyOut54 happy_x_1 of { (HappyWrap54 happy_var_1) ->
+        case happyOut55 happy_x_2 of { (HappyWrap55 happy_var_2) ->
+        happyIn54
+                 (BNFC.Abs.RSeq happy_var_1 happy_var_2
+        )}}
+
+happyReduce_98 = happySpecReduce_1  27# happyReduction_98
+happyReduction_98 happy_x_1
+         =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
+        happyIn54
+                 (happy_var_1
+        )}
+
+happyReduce_99 = happySpecReduce_2  28# happyReduction_99
+happyReduction_99 happy_x_2
+        happy_x_1
+         =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
+        happyIn55
+                 (BNFC.Abs.RStar happy_var_1
+        )}
+
+happyReduce_100 = happySpecReduce_2  28# happyReduction_100
+happyReduction_100 happy_x_2
+        happy_x_1
+         =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
+        happyIn55
+                 (BNFC.Abs.RPlus happy_var_1
+        )}
+
+happyReduce_101 = happySpecReduce_2  28# happyReduction_101
+happyReduction_101 happy_x_2
+        happy_x_1
+         =  case happyOut55 happy_x_1 of { (HappyWrap55 happy_var_1) ->
+        happyIn55
+                 (BNFC.Abs.ROpt happy_var_1
+        )}
+
+happyReduce_102 = happySpecReduce_1  28# happyReduction_102
+happyReduction_102 happy_x_1
+         =  happyIn55
+                 (BNFC.Abs.REps
+        )
+
+happyReduce_103 = happySpecReduce_1  28# happyReduction_103
+happyReduction_103 happy_x_1
+         =  case happyOut27 happy_x_1 of { (HappyWrap27 happy_var_1) ->
+        happyIn55
+                 (BNFC.Abs.RChar happy_var_1
+        )}
+
+happyReduce_104 = happySpecReduce_3  28# happyReduction_104
+happyReduction_104 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->
+        happyIn55
+                 (BNFC.Abs.RAlts happy_var_2
+        )}
+
+happyReduce_105 = happySpecReduce_3  28# happyReduction_105
+happyReduction_105 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut30 happy_x_2 of { (HappyWrap30 happy_var_2) ->
+        happyIn55
+                 (BNFC.Abs.RSeqs happy_var_2
+        )}
+
+happyReduce_106 = happySpecReduce_1  28# happyReduction_106
+happyReduction_106 happy_x_1
+         =  happyIn55
+                 (BNFC.Abs.RDigit
+        )
+
+happyReduce_107 = happySpecReduce_1  28# happyReduction_107
+happyReduction_107 happy_x_1
+         =  happyIn55
+                 (BNFC.Abs.RLetter
+        )
+
+happyReduce_108 = happySpecReduce_1  28# happyReduction_108
+happyReduction_108 happy_x_1
+         =  happyIn55
+                 (BNFC.Abs.RUpper
+        )
+
+happyReduce_109 = happySpecReduce_1  28# happyReduction_109
+happyReduction_109 happy_x_1
+         =  happyIn55
+                 (BNFC.Abs.RLower
+        )
+
+happyReduce_110 = happySpecReduce_1  28# happyReduction_110
+happyReduction_110 happy_x_1
+         =  happyIn55
+                 (BNFC.Abs.RAny
+        )
+
+happyReduce_111 = happySpecReduce_3  28# happyReduction_111
+happyReduction_111 happy_x_3
+        happy_x_2
+        happy_x_1
+         =  case happyOut52 happy_x_2 of { (HappyWrap52 happy_var_2) ->
+        happyIn55
+                 (happy_var_2
+        )}
+
+happyNewToken action sts stk [] =
+        happyDoAction 45# notHappyAtAll action sts stk []
+
+happyNewToken action sts stk (tk:tks) =
+        let cont i = happyDoAction i tk action sts stk tks in
+        case tk of {
+        PT _ (TS _ 1) -> cont 1#;
+        PT _ (TS _ 2) -> cont 2#;
+        PT _ (TS _ 3) -> cont 3#;
+        PT _ (TS _ 4) -> cont 4#;
+        PT _ (TS _ 5) -> cont 5#;
+        PT _ (TS _ 6) -> cont 6#;
+        PT _ (TS _ 7) -> cont 7#;
+        PT _ (TS _ 8) -> cont 8#;
+        PT _ (TS _ 9) -> cont 9#;
+        PT _ (TS _ 10) -> cont 10#;
+        PT _ (TS _ 11) -> cont 11#;
+        PT _ (TS _ 12) -> cont 12#;
+        PT _ (TS _ 13) -> cont 13#;
+        PT _ (TS _ 14) -> cont 14#;
+        PT _ (TS _ 15) -> cont 15#;
+        PT _ (TS _ 16) -> cont 16#;
+        PT _ (TS _ 17) -> cont 17#;
+        PT _ (TS _ 18) -> cont 18#;
+        PT _ (TS _ 19) -> cont 19#;
+        PT _ (TS _ 20) -> cont 20#;
+        PT _ (TS _ 21) -> cont 21#;
+        PT _ (TS _ 22) -> cont 22#;
+        PT _ (TS _ 23) -> cont 23#;
+        PT _ (TS _ 24) -> cont 24#;
+        PT _ (TS _ 25) -> cont 25#;
+        PT _ (TS _ 26) -> cont 26#;
+        PT _ (TS _ 27) -> cont 27#;
+        PT _ (TS _ 28) -> cont 28#;
+        PT _ (TS _ 29) -> cont 29#;
+        PT _ (TS _ 30) -> cont 30#;
+        PT _ (TS _ 31) -> cont 31#;
+        PT _ (TS _ 32) -> cont 32#;
+        PT _ (TS _ 33) -> cont 33#;
+        PT _ (TS _ 34) -> cont 34#;
+        PT _ (TS _ 35) -> cont 35#;
+        PT _ (TS _ 36) -> cont 36#;
+        PT _ (TS _ 37) -> cont 37#;
+        PT _ (TS _ 38) -> cont 38#;
+        PT _ (TS _ 39) -> cont 39#;
+        PT _ (TC happy_dollar_dollar) -> cont 40#;
+        PT _ (TD happy_dollar_dollar) -> cont 41#;
+        PT _ (TI happy_dollar_dollar) -> cont 42#;
+        PT _ (TL happy_dollar_dollar) -> cont 43#;
+        PT _ (T_Identifier _) -> cont 44#;
+        _ -> happyError' ((tk:tks), [])
+        }
 
 happyError_ explist 45# tk tks = happyError' (tks, explist)
 happyError_ explist _ tk tks = happyError' ((tk:tks), explist)
diff --git a/stack-7.10.3.yaml b/stack-7.10.3.yaml
deleted file mode 100644
--- a/stack-7.10.3.yaml
+++ /dev/null
@@ -1,1 +0,0 @@
-resolver: lts-6.35
diff --git a/stack-8.0.2.yaml b/stack-8.0.2.yaml
deleted file mode 100644
--- a/stack-8.0.2.yaml
+++ /dev/null
@@ -1,1 +0,0 @@
-resolver: lts-9.21
diff --git a/stack-8.10.2.yaml b/stack-8.10.2.yaml
deleted file mode 100644
--- a/stack-8.10.2.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-resolver: nightly-2020-12-14
-compiler: ghc-8.10.2
-compiler-check: match-exact
diff --git a/stack-8.10.3.yaml b/stack-8.10.3.yaml
deleted file mode 100644
--- a/stack-8.10.3.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-resolver: lts-17.2
-compiler: ghc-8.10.3
-compiler-check: match-exact
diff --git a/stack-8.10.4.yaml b/stack-8.10.4.yaml
deleted file mode 100644
--- a/stack-8.10.4.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-resolver: lts-17.13
-compiler: ghc-8.10.4
-compiler-check: match-exact
diff --git a/stack-8.10.7.yaml b/stack-8.10.7.yaml
--- a/stack-8.10.7.yaml
+++ b/stack-8.10.7.yaml
@@ -1,3 +1,3 @@
-resolver: lts-18.10
+resolver: lts-18.28
 compiler: ghc-8.10.7
 compiler-check: match-exact
diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml
deleted file mode 100644
--- a/stack-8.6.4.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resolver: lts-13.19
-
diff --git a/stack-8.8.2.yaml b/stack-8.8.2.yaml
deleted file mode 100644
--- a/stack-8.8.2.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resolver: lts-15.3
-
diff --git a/stack-8.8.3.yaml b/stack-8.8.3.yaml
deleted file mode 100644
--- a/stack-8.8.3.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-resolver: lts-15.8
-
diff --git a/stack-8.8.4.yaml b/stack-8.8.4.yaml
--- a/stack-8.8.4.yaml
+++ b/stack-8.8.4.yaml
@@ -1,4 +1,3 @@
-resolver: lts-16.2
+resolver: lts-16.31
 compiler: ghc-8.8.4
 compiler-check: match-exact
-
diff --git a/stack-9.0.1.yaml b/stack-9.0.1.yaml
deleted file mode 100644
--- a/stack-9.0.1.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-resolver: nightly-2022-01-04
-compiler: ghc-9.0.1
-# compiler-check: match-exact
diff --git a/stack-9.0.2.yaml b/stack-9.0.2.yaml
--- a/stack-9.0.2.yaml
+++ b/stack-9.0.2.yaml
@@ -1,33 +1,3 @@
-resolver: nightly-2022-01-27
+resolver: lts-19.33
 compiler: ghc-9.0.2
-# compiler-check: match-exact
-
-# extra-deps:
-# - alex-3.2.6
-# - cabal-doctest-1.0.8
-# - happy-1.20.0
-# - string-qq-0.0.4
-
-# # For --test:
-# - HUnit-1.6.2.0
-# - QuickCheck-2.14.2
-# - ansi-terminal-0.11
-# - base-compat-0.11.2
-# - call-stack-0.4.0
-# - clock-0.8.2
-# - code-page-0.2.1
-# - colour-2.3.5
-# - doctest-0.18.1
-# - ghc-paths-0.1.0.12@rev:2
-# - hspec-2.8.2
-# - hspec-core-2.8.2
-# - hspec-discover-2.8.2
-# - hspec-expectations-0.8.2
-# - primitive-0.7.1.0
-# - quickcheck-io-0.2.0
-# - random-1.2.0
-# - setenv-0.1.1.3
-# - splitmix-0.1.0.3
-# - syb-0.7.2.1
-# - temporary-1.3
-# - tf-random-0.5
+compiler-check: match-exact
diff --git a/stack-9.2.1.yaml b/stack-9.2.1.yaml
deleted file mode 100644
--- a/stack-9.2.1.yaml
+++ /dev/null
@@ -1,33 +0,0 @@
-resolver: ghc-9.2.1
-compiler: ghc-9.2.1
-# compiler-check: match-exact
-
-extra-deps:
-- alex-3.2.6
-- cabal-doctest-1.0.9
-- happy-1.20.0
-- string-qq-0.0.4
-
-# For --test:
-- HUnit-1.6.2.0
-- QuickCheck-2.14.2
-- ansi-terminal-0.11
-- base-compat-0.12.1
-- call-stack-0.4.0
-- clock-0.8.2
-- code-page-0.2.1
-- colour-2.3.6
-- doctest-0.20.0
-- ghc-paths-0.1.0.12@rev:3
-- hspec-2.9.4
-- hspec-core-2.9.4
-- hspec-discover-2.9.4
-- hspec-expectations-0.8.2
-- primitive-0.7.3.0
-- quickcheck-io-0.2.0
-- random-1.2.1
-- setenv-0.1.1.3
-- splitmix-0.1.0.4
-- syb-0.7.2.1
-- temporary-1.3
-- tf-random-0.5
diff --git a/stack-9.2.5.yaml b/stack-9.2.5.yaml
new file mode 100644
--- /dev/null
+++ b/stack-9.2.5.yaml
@@ -0,0 +1,3 @@
+resolver: lts-20.4
+compiler: ghc-9.2.5
+compiler-check: match-exact
diff --git a/stack-9.4.3.yaml b/stack-9.4.3.yaml
new file mode 100644
--- /dev/null
+++ b/stack-9.4.3.yaml
@@ -0,0 +1,3 @@
+resolver: nightly-2022-12-12
+compiler: ghc-9.4.3
+compiler-check: match-exact
diff --git a/test/doctests.hs b/test/doctests.hs
deleted file mode 100644
--- a/test/doctests.hs
+++ /dev/null
@@ -1,35 +0,0 @@
--- | @doctest@ main, from https://hackage.haskell.org/package/cabal-doctest
-
-import Build_doctests      ( flags, pkgs, module_sources )
-import System.Environment  ( unsetEnv )
-import Test.DocTest        ( doctest )
-
-main :: IO ()
-main = do
-    -- optionally print arguments
-    mapM_ putStrLn . concat $
-      [ ["Arguments to doctest"]
-      , args
-      , [""]
-      ]
-    fixEnv
-    doctest args
-  where
-    args = flags ++ pkgs ++ module_sources
-
--- | From version 2, Stack sets the GHC_ENVRIONMENT variable, and GHC
--- (as invoked by doctest) will pick that up. This is undesirable:
--- cabal-doctest passes all the necessary information on the command
--- line already, and can lead to ambiguous module errors as GHC will
--- load the environment in addition to what cabal-doctest instructs it
--- to.
---
--- Hence, cabal-doctest tells GHC to ignore package environments
--- altogether on the command line. However, this is only possible
--- since GHC 8.2. If you are using cabal-doctest with Stack 2 and
--- GHC 8.0 or earlier and seeing ambiguous module errors or other
--- mysterious failures, try manually unsetting GHC_ENVIRONMENT before
--- invoking doctest.
---
-fixEnv :: IO ()
-fixEnv = unsetEnv "GHC_ENVIRONMENT"
