diff --git a/app/GLuaFixer/Cli.hs b/app/GLuaFixer/Cli.hs
--- a/app/GLuaFixer/Cli.hs
+++ b/app/GLuaFixer/Cli.hs
@@ -14,7 +14,7 @@
 import qualified Options.Applicative as Opt
 
 newtype SettingsPath = SettingsPath FilePath
-  deriving newtype Show
+  deriving newtype (Show)
 
 -- | Command line options of glualint
 data Options = Options
@@ -23,7 +23,8 @@
   , optsCommand :: Command
   , optsFiles :: StdInOrFiles
   , optsDebug :: Bool
-  } deriving (Show)
+  }
+  deriving (Show)
 
 -- | Available subcommands
 data Command
@@ -40,7 +41,8 @@
 data OverriddenSettings = OverriddenSettings
   { indentation :: Maybe Indentation
   , outputFormat :: Maybe LogFormatChoice
-  } deriving Show
+  }
+  deriving (Show)
 
 -- | Override settings with the options passed on the command line
 overrideSettings :: OverriddenSettings -> LintSettings -> LintSettings
@@ -78,109 +80,108 @@
     <*> commandParser
     <*> parseStdInOrFiles
     <*> parseDebug
- where
-  configOption :: Opt.Parser (Maybe SettingsPath)
-  configOption =
-    optional $
-      SettingsPath
-        <$> Opt.strOption
-          ( Opt.long "config"
-              <> Opt.metavar "PATH"
-              <> Opt.help "Explicitly define config file location. By default it will search for it."
-          )
+  where
+    configOption :: Opt.Parser (Maybe SettingsPath)
+    configOption =
+      optional $
+        SettingsPath
+          <$> Opt.strOption
+            ( Opt.long "config"
+                <> Opt.metavar "PATH"
+                <> Opt.help "Explicitly define config file location. By default it will search for it."
+            )
 
-  indentOption :: Opt.Parser (Maybe Indentation)
-  indentOption =
-    optional $
-      Opt.strOption
-        ( Opt.long "indentation"
-            <> Opt.metavar "STR"
-            <> Opt.help "What to use for indentation when pretty printing, 4 spaces by default."
-        )
+    indentOption :: Opt.Parser (Maybe Indentation)
+    indentOption =
+      optional $
+        Opt.strOption
+          ( Opt.long "indentation"
+              <> Opt.metavar "STR"
+              <> Opt.help "What to use for indentation when pretty printing, 4 spaces by default."
+          )
 
-  outputFormatOption :: Opt.Parser (Maybe LogFormatChoice)
-  outputFormatOption =
-    optional $
-      Opt.option
-        outputFormatReader
-        ( Opt.long "output-format"
-            <> Opt.metavar "FORMAT"
-            <> Opt.help "Logging format, either 'auto', 'standard' or 'github', defaults to 'standard'"
-        )
+    outputFormatOption :: Opt.Parser (Maybe LogFormatChoice)
+    outputFormatOption =
+      optional $
+        Opt.option
+          outputFormatReader
+          ( Opt.long "output-format"
+              <> Opt.metavar "FORMAT"
+              <> Opt.help "Logging format, either 'auto', 'standard' or 'github', defaults to 'standard'"
+          )
 
-  outputFormatReader :: Opt.ReadM LogFormatChoice
-  outputFormatReader = Opt.eitherReader $ \case
-    "standard" -> Right $ LogFormatChoice StandardLogFormat
-    "github" -> Right $ LogFormatChoice GithubLogFormat
-    "auto" -> Right AutoLogFormatChoice
-    val -> Left $ "Bad output format '" <> val <> "', must be either 'auto', 'standard' or 'github'."
+    outputFormatReader :: Opt.ReadM LogFormatChoice
+    outputFormatReader = Opt.eitherReader $ \case
+      "standard" -> Right $ LogFormatChoice StandardLogFormat
+      "github" -> Right $ LogFormatChoice GithubLogFormat
+      "auto" -> Right AutoLogFormatChoice
+      val -> Left $ "Bad output format '" <> val <> "', must be either 'auto', 'standard' or 'github'."
 
-  parseDebug :: Opt.Parser Bool
-  parseDebug =
+    parseDebug :: Opt.Parser Bool
+    parseDebug =
       Opt.switch
         ( Opt.long "debug"
             <> Opt.help "Whether to enable some debug prints."
         )
 
-  commandParser :: Opt.Parser Command
-  commandParser =
-    Opt.hsubparser
-      ( Opt.command
-          "lint"
-          ( Opt.info (pure Lint) $
-              Opt.progDesc "Lint the given files. Directories will be traversed recursively."
-          )
-          <> Opt.command
-            "pretty-print"
-            ( Opt.info (pure PrettyPrint) $
-                Opt.progDesc "Pretty print the given files, replacing their contents with the pretty printed code."
-            )
-          <> Opt.command
-            "analyse-globals"
-            ( Opt.info (pure AnalyseGlobals) $
-                Opt.progDesc "Print a list of all globals used and defined in the given files/directories."
-            )
-          <> Opt.command
-            "dump-lexicon"
-            ( Opt.info (pure DumpLexicon) $
-                Opt.progDesc "Debug command to dump the tokens parsed in the Lua code."
-            )
-          <> Opt.command
-            "dump-ast"
-            ( Opt.info (pure DumpAst) $
-                Opt.progDesc "Debug command to dump the internal Abstract Syntax Tree of the Lua code."
-            )
-          <> Opt.command
-            "test"
-            ( Opt.info (pure Test) $
-                Opt.progDesc "Run tests on the given files. Use for testing/debugging glualint."
-            )
-          <> Opt.command
-            "version"
-            ( Opt.info (pure PrintVersion) $
-                Opt.progDesc "Print the version of glualint and exit."
+    commandParser :: Opt.Parser Command
+    commandParser =
+      Opt.hsubparser
+        ( Opt.command
+            "lint"
+            ( Opt.info (pure Lint) $
+                Opt.progDesc "Lint the given files. Directories will be traversed recursively."
             )
-      )
+            <> Opt.command
+              "pretty-print"
+              ( Opt.info (pure PrettyPrint) $
+                  Opt.progDesc "Pretty print the given files, replacing their contents with the pretty printed code."
+              )
+            <> Opt.command
+              "analyse-globals"
+              ( Opt.info (pure AnalyseGlobals) $
+                  Opt.progDesc "Print a list of all globals used and defined in the given files/directories."
+              )
+            <> Opt.command
+              "dump-lexicon"
+              ( Opt.info (pure DumpLexicon) $
+                  Opt.progDesc "Debug command to dump the tokens parsed in the Lua code."
+              )
+            <> Opt.command
+              "dump-ast"
+              ( Opt.info (pure DumpAst) $
+                  Opt.progDesc "Debug command to dump the internal Abstract Syntax Tree of the Lua code."
+              )
+            <> Opt.command
+              "test"
+              ( Opt.info (pure Test) $
+                  Opt.progDesc "Run tests on the given files. Use for testing/debugging glualint."
+              )
+            <> Opt.command
+              "version"
+              ( Opt.info (pure PrintVersion) $
+                  Opt.progDesc "Print the version of glualint and exit."
+              )
+        )
 
-  parseStdInOrFiles :: Opt.Parser StdInOrFiles
-  parseStdInOrFiles =
-    Opt.flag'
-      UseStdIn
-      ( Opt.long "stdin"
-          <> Opt.help "Use stdin instead of files."
-      )
-      <|> UseFiles <$> filesArgument
+    parseStdInOrFiles :: Opt.Parser StdInOrFiles
+    parseStdInOrFiles =
+      Opt.flag'
+        UseStdIn
+        ( Opt.long "stdin"
+            <> Opt.help "Use stdin instead of files."
+        )
+        <|> UseFiles <$> filesArgument
 
-  filesArgument :: Opt.Parser [FilePath]
-  filesArgument = Opt.many (Opt.argument Opt.str $ Opt.metavar "FILES")
+    filesArgument :: Opt.Parser [FilePath]
+    filesArgument = Opt.many (Opt.argument Opt.str $ Opt.metavar "FILES")
 
 --
 -- Legacy
 --
 
-{- | Deprecated and naive command line interface, kept in place for backwards
-compatibility.
--}
+-- | Deprecated and naive command line interface, kept in place for backwards
+-- compatibility.
 legacyCliParser :: [String] -> Maybe Options
 legacyCliParser args = case go False emptyOptions args of
   (False, _) -> Nothing
@@ -188,43 +189,43 @@
     UseFiles [] -> Nothing
     _ -> Just opts
   (True, opts) -> Just opts
- where
-  emptyOptions =
-    Options
-      { optsConfigFile = Nothing
-      , optsOverridden = OverriddenSettings Nothing Nothing
-      , optsCommand = Lint
-      , optsFiles = UseFiles []
-      , optsDebug = False
-      }
+  where
+    emptyOptions =
+      Options
+        { optsConfigFile = Nothing
+        , optsOverridden = OverriddenSettings Nothing Nothing
+        , optsCommand = Lint
+        , optsFiles = UseFiles []
+        , optsDebug = False
+        }
 
-  go hasSuccessfulParse options = \case
-    ["--config"] -> (False, options)
-    -- fail when a subcommand of the new parser is given as argument
-    "lint" : _ -> (False, options)
-    "pretty-print" : _ -> (False, options)
-    "analyse-globals" : _ -> (False, options)
-    "dump-ast" : _ -> (False, options)
-    "test" : _ -> (False, options)
-    "version" : _ -> (False, options)
-    "--bash-completion-script" : _ -> (False, options)
-    "--fish-completion-script" : _ -> (False, options)
-    "--zsh-completion-script" : _ -> (False, options)
-    -- End of recursion case
-    [] -> (hasSuccessfulParse, options)
-    "--debug" : xs -> go True options{optsDebug = True} xs
-    "--pretty-print-files" : xs -> go True options{optsCommand = PrettyPrint} xs
-    "--pretty-print" : xs -> go True options{optsCommand = PrettyPrint, optsFiles = UseStdIn} xs
-    "--analyse-globals" : xs -> go True options{optsCommand = AnalyseGlobals} xs
-    "--dump-ast" : xs -> go True options{optsCommand = DumpAst} xs
-    "--version" : xs -> go True options{optsCommand = PrintVersion} xs
-    "--test" : xs -> go True options{optsCommand = Test} xs
-    "--stdin" : xs -> go True options{optsFiles = UseStdIn} xs
-    "--config" : f : xs -> go True options{optsConfigFile = Just $ SettingsPath f} xs
-    ('-' : '-' : 'i' : 'n' : 'd' : 'e' : 'n' : 't' : 'a' : 't' : 'i' : 'o' : 'n' : '=' : '\'' : ind') : xs ->
-      go True options{optsOverridden = options.optsOverridden{indentation = Just $ Indentation ind'}} xs
-    ('-' : '-' : 'i' : 'n' : 'd' : 'e' : 'n' : 't' : 'a' : 't' : 'i' : 'o' : 'n' : '=' : ind') : xs ->
-      go True options{optsOverridden = options.optsOverridden{indentation = Just $ Indentation ind'}} xs
-    f : xs -> case optsFiles options of
-      UseStdIn -> go True options{optsFiles = UseFiles [f]} xs
-      UseFiles fs -> go True options{optsFiles = UseFiles $ f : fs} xs
+    go hasSuccessfulParse options = \case
+      ["--config"] -> (False, options)
+      -- fail when a subcommand of the new parser is given as argument
+      "lint" : _ -> (False, options)
+      "pretty-print" : _ -> (False, options)
+      "analyse-globals" : _ -> (False, options)
+      "dump-ast" : _ -> (False, options)
+      "test" : _ -> (False, options)
+      "version" : _ -> (False, options)
+      "--bash-completion-script" : _ -> (False, options)
+      "--fish-completion-script" : _ -> (False, options)
+      "--zsh-completion-script" : _ -> (False, options)
+      -- End of recursion case
+      [] -> (hasSuccessfulParse, options)
+      "--debug" : xs -> go True options{optsDebug = True} xs
+      "--pretty-print-files" : xs -> go True options{optsCommand = PrettyPrint} xs
+      "--pretty-print" : xs -> go True options{optsCommand = PrettyPrint, optsFiles = UseStdIn} xs
+      "--analyse-globals" : xs -> go True options{optsCommand = AnalyseGlobals} xs
+      "--dump-ast" : xs -> go True options{optsCommand = DumpAst} xs
+      "--version" : xs -> go True options{optsCommand = PrintVersion} xs
+      "--test" : xs -> go True options{optsCommand = Test} xs
+      "--stdin" : xs -> go True options{optsFiles = UseStdIn} xs
+      "--config" : f : xs -> go True options{optsConfigFile = Just $ SettingsPath f} xs
+      ('-' : '-' : 'i' : 'n' : 'd' : 'e' : 'n' : 't' : 'a' : 't' : 'i' : 'o' : 'n' : '=' : '\'' : ind') : xs ->
+        go True options{optsOverridden = options.optsOverridden{indentation = Just $ Indentation ind'}} xs
+      ('-' : '-' : 'i' : 'n' : 'd' : 'e' : 'n' : 't' : 'a' : 't' : 'i' : 'o' : 'n' : '=' : ind') : xs ->
+        go True options{optsOverridden = options.optsOverridden{indentation = Just $ Indentation ind'}} xs
+      f : xs -> case optsFiles options of
+        UseStdIn -> go True options{optsFiles = UseFiles [f]} xs
+        UseFiles fs -> go True options{optsFiles = UseFiles $ f : fs} xs
diff --git a/app/GLuaFixer/Effects/AnalyseGlobals.hs b/app/GLuaFixer/Effects/AnalyseGlobals.hs
--- a/app/GLuaFixer/Effects/AnalyseGlobals.hs
+++ b/app/GLuaFixer/Effects/AnalyseGlobals.hs
@@ -36,7 +36,7 @@
 execAnalysis = State.execState emptyState
 
 -- | Analyse a single file
-analyseFile :: (State.State AnalysisState :> es) => LintSettings -> FilePath -> AST -> Eff es ()
+analyseFile :: State.State AnalysisState :> es => LintSettings -> FilePath -> AST -> Eff es ()
 analyseFile lintSettings filepath ast = do
   let
     definitionsInFile :: Map String [Region] = globalDefinitions lintSettings ast
@@ -46,29 +46,28 @@
   State.modify $ \analysisState ->
     AnalysisState $ Map.unionWith (++) analysisState.state variableLocations
 
-{- | Print the analysis state to the terminal.
-TODO: make the rendering a pure function
--}
-reportAnalysis :: forall es. (Logging :> es) => AnalysisState -> Eff es ()
+-- | Print the analysis state to the terminal.
+-- TODO: make the rendering a pure function
+reportAnalysis :: forall es. Logging :> es => AnalysisState -> Eff es ()
 reportAnalysis analysis =
   mapM_ reportGlobal globals
- where
-  globals :: [(String, [VariableLocation])]
-  globals = sortWith (map toLower . fst) $ Map.toList $ Map.map (sortWith file) analysis.state
+  where
+    globals :: [(String, [VariableLocation])]
+    globals = sortWith (map toLower . fst) $ Map.toList $ Map.map (sortWith file) analysis.state
 
-  reportRegions :: [Region] -> Eff es ()
-  reportRegions rgs =
-    mapM_ (\r -> putStrLnStdOut $ "    " ++ renderRegion r) $ reverse rgs
+    reportRegions :: [Region] -> Eff es ()
+    reportRegions rgs =
+      mapM_ (\r -> putStrLnStdOut $ "    " ++ renderRegion r) $ reverse rgs
 
-  reportVariableLocation :: VariableLocation -> Eff es ()
-  reportVariableLocation location =
-    do
-      putStrLnStdOut $ "  " ++ file location ++ ":"
-      reportRegions $ regions location
-      putStrLnStdOut ""
+    reportVariableLocation :: VariableLocation -> Eff es ()
+    reportVariableLocation location =
+      do
+        putStrLnStdOut $ "  " ++ file location ++ ":"
+        reportRegions $ regions location
+        putStrLnStdOut ""
 
-  reportGlobal :: (String, [VariableLocation]) -> Eff es ()
-  reportGlobal (global, analyses) =
-    do
-      putStrLnStdOut $ "- " ++ global
-      mapM_ reportVariableLocation analyses
+    reportGlobal :: (String, [VariableLocation]) -> Eff es ()
+    reportGlobal (global, analyses) =
+      do
+        putStrLnStdOut $ "- " ++ global
+        mapM_ reportVariableLocation analyses
diff --git a/app/GLuaFixer/Effects/Cli.hs b/app/GLuaFixer/Effects/Cli.hs
--- a/app/GLuaFixer/Effects/Cli.hs
+++ b/app/GLuaFixer/Effects/Cli.hs
@@ -26,9 +26,8 @@
 runCliIO :: IOE :> es => Eff (Cli : es) a -> Eff es a
 runCliIO = evalStaticRep Cli
 
-{- | The result of parsing the CLI arguments. Either successful, with Options describing the running
-parameters of glualint, or alternatively, show the help text and exit with the exit code
--}
+-- | The result of parsing the CLI arguments. Either successful, with Options describing the running
+-- parameters of glualint, or alternatively, show the help text and exit with the exit code
 data CliParseResult
   = ParseSuccessful Options
   | PrintHelpText ExitCode String
@@ -49,7 +48,8 @@
       let
         (parserHelp, exitCode, terminalColumns) = Opt.execFailure parserFailure progName
 
-      let printHelpText = PrintHelpText exitCode $ Opt.renderHelp terminalColumns parserHelp
+      let
+        printHelpText = PrintHelpText exitCode $ Opt.renderHelp terminalColumns parserHelp
       case exitCode of
         -- This means the help was activated. Print the help
         ExitSuccess ->
diff --git a/app/GLuaFixer/Effects/Files.hs b/app/GLuaFixer/Effects/Files.hs
--- a/app/GLuaFixer/Effects/Files.hs
+++ b/app/GLuaFixer/Effects/Files.hs
@@ -16,15 +16,15 @@
 import Data.List (foldl', stripPrefix)
 import Data.Maybe (fromMaybe, listToMaybe, mapMaybe)
 import Effectful (Dispatch (Dynamic), DispatchOf, Eff, Effect, IOE, (:>))
-import Effectful.Dispatch.Dynamic (interpret, send, interpose)
+import Effectful.Dispatch.Dynamic (interpose, interpret, send)
 import Effectful.Dispatch.Static (HasCallStack)
+import GLuaFixer.Effects.Logging (Logging, putStrLnStdError)
 import qualified System.Directory as Dir
 import System.FilePath (takeDirectory, (</>))
 import System.FilePath.Find (FindClause, always, fileName, filePath, find, (&&?), (/~?), (~~?))
 import System.FilePath.GlobPattern (GlobPattern)
 import System.IO (IOMode (..), hGetContents, hPutStrLn, hSetEncoding, utf8_bom, withFile)
 import Prelude hiding (readFile, writeFile)
-import GLuaFixer.Effects.Logging (Logging, putStrLnStdError)
 
 newtype Directory = Directory {dir :: FilePath}
 newtype FileNames = FileNames {names :: [String]}
@@ -57,15 +57,15 @@
 
 type instance DispatchOf Files = Dynamic
 
-makeAbsolute :: (Files :> es) => FilePath -> Eff es FilePath
+makeAbsolute :: Files :> es => FilePath -> Eff es FilePath
 makeAbsolute filepath = send $ MakeAbsolute filepath
 
 getHomeDirectory :: Files :> es => Eff es FilePath
 getHomeDirectory = send GetHomeDirectory
 
 findLuaFiles :: Files :> es => IgnoreFiles -> FilePath -> Eff es [FilePath]
-findLuaFiles ignoreFiles filepath
-  = send $ FindLuaFiles ignoreFiles filepath
+findLuaFiles ignoreFiles filepath =
+  send $ FindLuaFiles ignoreFiles filepath
 
 firstExists :: Files :> es => [FilePath] -> Eff es (Maybe FilePath)
 firstExists files = send $ FirstExists files
@@ -77,7 +77,7 @@
 isDirectory filepath = send $ IsDirectory filepath
 
 fileExists :: Files :> es => FilePath -> Eff es Bool
-fileExists filepath = send $ FileExists  filepath
+fileExists filepath = send $ FileExists filepath
 
 writeFile :: Files :> es => FilePath -> String -> Eff es ()
 writeFile filepath contents = send $ WriteFile filepath contents
@@ -88,12 +88,13 @@
 readStdIn :: Files :> es => Eff es String
 readStdIn = send ReadStdIn
 
-getCurrentDirectory ::
-  forall (es_a9miX :: [Effect]). (HasCallStack, Files :> es_a9miX) =>
-                                 Eff es_a9miX FilePath
+getCurrentDirectory
+  :: forall (es_a9miX :: [Effect])
+   . (HasCallStack, Files :> es_a9miX)
+  => Eff es_a9miX FilePath
 getCurrentDirectory = send (GetCurrentDirectory @(Eff es_a9miX))
 
-runFilesIO :: forall es a. (IOE :> es) => Eff (Files : es) a -> Eff es a
+runFilesIO :: forall es a. IOE :> es => Eff (Files : es) a -> Eff es a
 runFilesIO = interpret $ \_ -> \case
   GetCurrentDirectory -> liftIO Dir.getCurrentDirectory
   ReadStdIn -> liftIO getContents
@@ -112,17 +113,19 @@
   SearchUpwardsForFile (Directory directory) (FileNames filename) ->
     let
       go !subdir = do
-        let filepaths = fmap (subdir </>) filename
+        let
+          filepaths = fmap (subdir </>) filename
         mbFoundFile <- runFilesIO $ firstExists filepaths
         case mbFoundFile of
           Just file -> pure $ Just file
           Nothing -> do
-            let up = takeDirectory subdir
+            let
+              up = takeDirectory subdir
             dirExists <- runFilesIO $ isDirectory up
             if up == subdir || not dirExists
               then pure Nothing
               else go up
-     in
+    in
       go directory
   FirstExists filepath -> case filepath of
     (file : files) -> do
@@ -133,8 +136,12 @@
     [] -> pure Nothing
   FindLuaFiles (IgnoreFiles ignoreFiles) path ->
     let
-      ignoredGlobs = foldl' (&&?) always $ map (relativeFilePath /~?) ignoreFiles
+      ignoredGlobs = foldl' (&&?) always $ map excludeFiles ignoreFiles
 
+      -- Exclude a path when either its relative path or its full path match the ignore globs.
+      excludeFiles :: GlobPattern -> FindClause Bool
+      excludeFiles glob = relativeFilePath /~? glob &&? filePath /~? glob
+
       relativeFilePath :: FindClause FilePath
       relativeFilePath = fmap stripFromPath filePath
 
@@ -149,7 +156,7 @@
         , path ++ "/"
         , path
         ]
-     in
+    in
       liftIO $ find always (fileName ~~? "*.lua" &&? ignoredGlobs) path
   GetHomeDirectory -> liftIO Dir.getHomeDirectory
   MakeAbsolute filepath -> liftIO $ Dir.makeAbsolute filepath
@@ -168,7 +175,7 @@
     send $ ReadFile filepath
   WriteFile filepath contents -> do
     putStrLnStdError $ "WriteFile " <> filepath
-    send $ WriteFile  filepath contents
+    send $ WriteFile filepath contents
   FileExists filepath -> do
     putStrLnStdError "FileExists"
     send $ FileExists filepath
diff --git a/app/GLuaFixer/Effects/Interruptible.hs b/app/GLuaFixer/Effects/Interruptible.hs
--- a/app/GLuaFixer/Effects/Interruptible.hs
+++ b/app/GLuaFixer/Effects/Interruptible.hs
@@ -44,18 +44,18 @@
   unsafeEff_ $ readIORef aborted
 
 -- | Strict interruptible fold
-interruptibleFoldMStrict ::
-  Interruptible :> es =>
-  (a -> b -> Eff es a) ->
-  a ->
-  [b] ->
-  Eff es a
+interruptibleFoldMStrict
+  :: Interruptible :> es
+  => (a -> b -> Eff es a)
+  -> a
+  -> [b]
+  -> Eff es a
 interruptibleFoldMStrict f a = \case
   [] -> pure a
   (x : xs) -> do
     weDone <- hasBeenInterrupted
-    if weDone then
-      pure a
-    else do
-      !res <- f a x
-      interruptibleFoldMStrict f res xs
+    if weDone
+      then pure a
+      else do
+        !res <- f a x
+        interruptibleFoldMStrict f res xs
diff --git a/app/GLuaFixer/Effects/Run.hs b/app/GLuaFixer/Effects/Run.hs
--- a/app/GLuaFixer/Effects/Run.hs
+++ b/app/GLuaFixer/Effects/Run.hs
@@ -39,14 +39,14 @@
 import Prelude hiding (lex, readFile, writeFile)
 
 -- | Top level run function
-run ::
-  ( Interruptible :> es
-  , Files :> es
-  , Logging :> es
-  , Eff.Environment :> es
-  , Cli :> es
-  ) =>
-  Eff es ExitCode
+run
+  :: ( Interruptible :> es
+     , Files :> es
+     , Logging :> es
+     , Eff.Environment :> es
+     , Cli :> es
+     )
+  => Eff es ExitCode
 run = do
   pareResult <- parseCliOptions
 
@@ -67,16 +67,16 @@
         Right exitCode -> pure exitCode
 
 -- | Run the given options
-runOptions ::
-  ( Interruptible :> es
-  , Files :> es
-  , Settings :> es
-  , Logging :> es
-  , Eff.Environment :> es
-  , Cli :> es
-  ) =>
-  Options ->
-  Eff es ExitCode
+runOptions
+  :: ( Interruptible :> es
+     , Files :> es
+     , Settings :> es
+     , Logging :> es
+     , Eff.Environment :> es
+     , Cli :> es
+     )
+  => Options
+  -> Eff es ExitCode
 runOptions options =
   traceFilesIfEnabled options.optsDebug $
     traceSettingsIfEnabled options.optsDebug $ do
@@ -171,77 +171,77 @@
                 pure exitCode
         (Test, UseStdIn) -> do
           (lintSettings, contents) <- getStdIn options.optsConfigFile options.optsOverridden
-          test lintSettings "stdin" contents
-          pure ExitSuccess
+          test ExitSuccess lintSettings "stdin" contents
         (Test, UseFiles files) -> do
           foldLuaFiles
             options.optsConfigFile
             options.optsOverridden
-            ()
+            ExitSuccess
             files
-            $ \() lintSettings filepath contents ->
-              test lintSettings filepath contents
-          pure ExitSuccess
+            $ \exitCode lintSettings filepath contents ->
+              test exitCode lintSettings filepath contents
         (PrintVersion, _) -> do
           putStrLnStdOut version
           pure ExitSuccess
 
 -- | Retrieves the contents of stdin and the settings that apply.
-getStdIn ::
-  (Files :> es, Settings :> es) =>
-  Maybe SettingsPath ->
-  OverriddenSettings ->
-  Eff es (LintSettings, String)
+getStdIn
+  :: (Files :> es, Settings :> es)
+  => Maybe SettingsPath
+  -> OverriddenSettings
+  -> Eff es (LintSettings, String)
 getStdIn mbSettingsPath overriddenSettings = do
   cwd <- getCurrentDirectory
   settings <- getSettingsForFile mbSettingsPath overriddenSettings cwd
   code <- readStdIn
   pure (settings, code)
 
-{- | Fold over all the Lua files. Recurses into directories, retrieves settings and passes file
-contents to the fold function.
--}
-foldLuaFiles ::
-  forall es a.
-  (Files :> es, Interruptible :> es, Settings :> es) =>
-  Maybe SettingsPath ->
-  OverriddenSettings ->
-  a ->
-  [FilePath] ->
-  (a -> LintSettings -> FilePath -> String -> Eff es a) ->
-  Eff es a
+-- | Fold over all the Lua files. Recurses into directories, retrieves settings and passes file
+-- contents to the fold function.
+foldLuaFiles
+  :: forall es a
+   . (Files :> es, Interruptible :> es, Settings :> es)
+  => Maybe SettingsPath
+  -> OverriddenSettings
+  -> a
+  -> [FilePath]
+  -> (a -> LintSettings -> FilePath -> String -> Eff es a)
+  -> Eff es a
 foldLuaFiles mbSettingsPath overriddenSettings initial files f =
   interruptibleFoldMStrict go initial files
- where
-  go :: a -> FilePath -> Eff es a
-  go acc file = do
-    isDir <- isDirectory file
-    lintSettings <- getSettingsForFile mbSettingsPath overriddenSettings file
-    if isDir
-      then do
-        let ignoreFiles = IgnoreFiles $ lintSettings.lint_ignoreFiles
-        recurseFiles <- findLuaFiles ignoreFiles file
-        interruptibleFoldMStrict go acc recurseFiles
-      else do
-        contents <- readFile file
-        f acc lintSettings file contents
+  where
+    go :: a -> FilePath -> Eff es a
+    go acc file = do
+      isDir <- isDirectory file
+      lintSettings <- getSettingsForFile mbSettingsPath overriddenSettings file
+      if isDir
+        then do
+          let
+            ignoreFiles = IgnoreFiles $ lintSettings.lint_ignoreFiles
+          recurseFiles <- findLuaFiles ignoreFiles file
+          interruptibleFoldMStrict go acc recurseFiles
+        else do
+          contents <- readFile file
+          f acc lintSettings file contents
 
 -- | Lint a file
-lint ::
-  (Logging :> es, Eff.Environment :> es) =>
-  LintSettings ->
-  FilePath ->
-  String ->
-  Eff es ExitCode
+lint
+  :: (Logging :> es, Eff.Environment :> es)
+  => LintSettings
+  -> FilePath
+  -> String
+  -> Eff es ExitCode
 lint lintSettings filepath contents = do
   logFormat <- getLogFormat lintSettings.log_format
-  let sourceLint = Interface.sourceLint lintSettings filepath contents
+  let
+    sourceLint = Interface.sourceLint lintSettings filepath contents
   case Interface.lex lintSettings filepath contents of
     Left msgs -> do
       mapM_ (emitLintMessage logFormat) msgs
       pure $ ExitFailure 1
     Right tokens -> do
-      let !lextLint = Interface.lexiconLint filepath lintSettings tokens
+      let
+        !lextLint = Interface.lexiconLint filepath lintSettings tokens
       case Interface.parse lintSettings filepath tokens of
         Left msgs -> do
           mapM_ (emitLintMessage logFormat) msgs
@@ -254,27 +254,28 @@
           pure $ if null msgs then ExitSuccess else ExitFailure 1
 
 -- | Pretty print a file
-prettyprint ::
-  LintSettings ->
-  String ->
-  Maybe String
+prettyprint
+  :: LintSettings
+  -> String
+  -> Maybe String
 prettyprint lintSettings contents = do
   if lintSettings.prettyprint_rejectInvalidCode && hasErrors
     then Nothing
     else Just $ Interface.prettyprint lintSettings ast
- where
-  (tokens, lexErrors) = Interface.lexUU lintSettings contents
-  (ast, parseErrors) = Interface.parseUU tokens
-  hasErrors = not (null lexErrors) || not (null parseErrors)
+  where
+    (tokens, lexErrors) = Interface.lexUU lintSettings contents
+    (ast, parseErrors) = Interface.parseUU tokens
+    hasErrors = not (null lexErrors) || not (null parseErrors)
 
 -- | Test glualint itself against a file. TODO: Refactor this into a nicer command
-test ::
-  (Logging :> es, Eff.Environment :> es) =>
-  LintSettings ->
-  FilePath ->
-  String ->
-  Eff es ()
-test lintSettings filepath contents = do
+test
+  :: (Logging :> es, Eff.Environment :> es)
+  => ExitCode
+  -> LintSettings
+  -> FilePath
+  -> String
+  -> Eff es ExitCode
+test exitCode lintSettings filepath contents = do
   putStrLnStdOut $ "Testing " <> filepath
   let
     (uu_lex, uu_lex_errors) = Interface.lexUU lintSettings contents
@@ -297,14 +298,16 @@
   logFormat <- getLogFormat lintSettings.log_format
 
   case Interface.lex lintSettings filepath contents of
-    Left msgs ->
+    Left msgs -> do
       mapM_ (emitLintMessage logFormat) msgs
+      pure $ ExitFailure 1
     Right tokens ->
       case Interface.parse lintSettings filepath tokens of
         Left msgs -> do
           putStrLnStdOut $
             "Errors when trying to parse '" ++ filepath ++ "' with parsec parser!"
           mapM_ (emitLintMessage logFormat) msgs
+          pure $ ExitFailure 1
         Right ast -> do
           let
             prettyprinted = Interface.prettyprint lintSettings ast
@@ -323,18 +326,19 @@
                 "Errors when trying to parse '" ++ filepath ++ "' with parsec parser after pretty print!"
 
               putStrLnStdOut $ show err
-            Right _ast -> pure ()
+              pure $ ExitFailure 1
+            Right _ast -> pure exitCode
 
 -- | Function to easily parse a file's contents into an AST. This will log any parse failures and
 -- give an AST if it can.
-withParsed ::
-  (Logging :> es, Eff.Environment :> es) =>
-  LintSettings ->
-  FilePath ->
-  String ->
-  a ->
-  (AST -> Eff es a) ->
-  Eff es a
+withParsed
+  :: (Logging :> es, Eff.Environment :> es)
+  => LintSettings
+  -> FilePath
+  -> String
+  -> a
+  -> (AST -> Eff es a)
+  -> Eff es a
 withParsed lintSettings filepath contents defaultValue f = do
   lexicon <- getLexicon lintSettings filepath contents
   case lexicon of
@@ -349,7 +353,7 @@
 
 -- | Function to parse a file's contents into MTokens. This will log any parse failures and give
 -- MTokens if it can.
-getLexicon :: (Logging :> es) => LintSettings -> FilePath -> String -> Eff es (Maybe [MToken])
+getLexicon :: Logging :> es => LintSettings -> FilePath -> String -> Eff es (Maybe [MToken])
 getLexicon lintSettings filepath contents = do
   logFormat <- getLogFormat lintSettings.log_format
   case Interface.lex lintSettings filepath contents of
diff --git a/app/GLuaFixer/Effects/Settings.hs b/app/GLuaFixer/Effects/Settings.hs
--- a/app/GLuaFixer/Effects/Settings.hs
+++ b/app/GLuaFixer/Effects/Settings.hs
@@ -13,14 +13,14 @@
 import qualified Data.Aeson as Aeson
 import qualified Data.ByteString.Char8 as BS8
 import Effectful (Dispatch (Dynamic), DispatchOf, Eff, Effect, (:>))
-import Effectful.Dispatch.Dynamic (interpret, send, interpose)
+import Effectful.Dispatch.Dynamic (interpose, interpret, send)
 import qualified Effectful.Error.Static as Err
 import GLuaFixer.Cli (OverriddenSettings, SettingsPath (..), overrideSettings)
 import GLuaFixer.Effects.Files (Files)
 import qualified GLuaFixer.Effects.Files as Files
+import GLuaFixer.Effects.Logging (Logging, putStrLnStdError)
 import GLuaFixer.LintSettings (LintSettings, defaultLintSettings)
 import System.FilePath (takeDirectory, (</>))
-import GLuaFixer.Effects.Logging (Logging, putStrLnStdError)
 
 data Settings :: Effect where
   -- | Search for settings in various locations, returns default settings if nothing is found
@@ -93,17 +93,16 @@
 
     Files.firstExists [fileWithDot, fileWithoutDot]
 
-{- | Combines getting the settings from
-- An explicitly passed path to a file
-- Settings overridden in the CLI
-- Settings that apply to a file
--}
-getSettingsForFile ::
-  Settings :> es =>
-  Maybe SettingsPath ->
-  OverriddenSettings ->
-  FilePath ->
-  Eff es LintSettings
+-- | Combines getting the settings from
+-- - An explicitly passed path to a file
+-- - Settings overridden in the CLI
+-- - Settings that apply to a file
+getSettingsForFile
+  :: Settings :> es
+  => Maybe SettingsPath
+  -> OverriddenSettings
+  -> FilePath
+  -> Eff es LintSettings
 getSettingsForFile mbSettingsPath overridden filepath = do
   readSettings <- case mbSettingsPath of
     Just (SettingsPath path) -> settingsFromFile path
diff --git a/app/GLuaFixer/Main.hs b/app/GLuaFixer/Main.hs
--- a/app/GLuaFixer/Main.hs
+++ b/app/GLuaFixer/Main.hs
@@ -5,13 +5,13 @@
 import GHC.IO.Encoding (setLocaleEncoding, utf8)
 
 import Effectful (runEff)
-import GLuaFixer.Effects.Run (run)
 import qualified Effectful.Environment as Env
-import System.Exit (exitWith)
 import GLuaFixer.Effects.Cli (runCliIO)
 import GLuaFixer.Effects.Files (runFilesIO)
 import GLuaFixer.Effects.Interruptible (runInterruptible)
 import GLuaFixer.Effects.Logging (runLoggingIO)
+import GLuaFixer.Effects.Run (run)
+import System.Exit (exitWith)
 
 main :: IO ()
 main = do
@@ -23,10 +23,10 @@
   exitCode <-
     runEff $
       runCliIO $
-      runFilesIO $
-      runInterruptible $
-      Env.runEnvironment $
-      runLoggingIO
-      run
+        runFilesIO $
+          runInterruptible $
+            Env.runEnvironment $
+              runLoggingIO
+                run
 
   exitWith exitCode
diff --git a/glualint.cabal b/glualint.cabal
--- a/glualint.cabal
+++ b/glualint.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               glualint
-version:            1.25.0
+version:            1.26.0
 synopsis:           Attempts to fix your syntax erroring Lua files.
 description:
   Linter for Lua, specifically the variant used in Garry's mod.
@@ -14,7 +14,10 @@
 copyright:          Falco Peijnenburg
 category:           Language
 build-type:         Simple
-extra-source-files: README.md
+extra-source-files:
+  README.md
+  tests/golden/data/input/*.lua
+  tests/golden/data/output/*.lua
 
 source-repository head
   type:     git
diff --git a/src/GLua/AG/AST.hs b/src/GLua/AG/AST.hs
--- a/src/GLua/AG/AST.hs
+++ b/src/GLua/AG/AST.hs
@@ -1,136 +1,171 @@
-
-
 {-# LANGUAGE DeriveGeneric #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
--- UUAGC 0.9.53.1 (src/GLua/AG/AST.ag)
+
+-- UUAGC 0.9.55 (src/GLua/AG/AST.ag)
 module GLua.AG.AST where
 
 {-# LINE 10 "src/GLua/AG/AST.ag" #-}
 
+import Data.Aeson
+import GHC.Generics
 import GLua.AG.Token
 import GLua.TokenTypes ()
-import GHC.Generics
-import Data.Aeson
 {-# LINE 15 "src/GLua/AG/AST.hs" #-}
 -- AReturn -----------------------------------------------------
-data AReturn = AReturn (Region) (MExprList)
-             | NoReturn
-             deriving ( Generic,Show)
+data AReturn
+  = AReturn (Region) (MExprList)
+  | NoReturn
+  deriving (Generic, Show)
+
 -- AST ---------------------------------------------------------
 data AST = AST (([MToken])) (Block)
-         deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- Args --------------------------------------------------------
-data Args = ListArgs (MExprList)
-          | TableArg (FieldList)
-          | StringArg (MToken)
-          deriving ( Generic,Show)
+data Args
+  = ListArgs (MExprList)
+  | TableArg (FieldList)
+  | StringArg (MToken)
+  deriving (Generic, Show)
+
 -- BinOp -------------------------------------------------------
-data BinOp = AOr
-           | AAnd
-           | ALT
-           | AGT
-           | ALEQ
-           | AGEQ
-           | ANEq
-           | AEq
-           | AConcatenate
-           | APlus
-           | BinMinus
-           | AMultiply
-           | ADivide
-           | AModulus
-           | APower
-           deriving ( Eq,Generic,Ord,Show)
+data BinOp
+  = AOr
+  | AAnd
+  | ALT
+  | AGT
+  | ALEQ
+  | AGEQ
+  | ANEq
+  | AEq
+  | AConcatenate
+  | APlus
+  | BinMinus
+  | AMultiply
+  | ADivide
+  | AModulus
+  | APower
+  deriving (Eq, Generic, Ord, Show)
+
 -- Block -------------------------------------------------------
 data Block = Block (MStatList) (AReturn)
-           deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- Declaration -------------------------------------------------
-type Declaration = ( PrefixExp,MaybeMExpr)
+type Declaration = (PrefixExp, MaybeMExpr)
+
 -- Else --------------------------------------------------------
 type Else = Maybe (MElse)
+
 -- ElseIf ------------------------------------------------------
-type ElseIf = ( MExpr,Block)
+type ElseIf = (MExpr, Block)
+
 -- ElseIfList --------------------------------------------------
 type ElseIfList = [MElseIf]
+
 -- Expr --------------------------------------------------------
-data Expr = ANil
-          | AFalse
-          | ATrue
-          | ANumber (String)
-          | AString (MToken)
-          | AVarArg
-          | AnonymousFunc (([MToken])) (Block)
-          | APrefixExpr (PrefixExp)
-          | ATableConstructor (FieldList)
-          | BinOpExpr (BinOp) (MExpr) (MExpr)
-          | UnOpExpr (UnOp) (MExpr)
-          deriving ( Generic,Show)
+data Expr
+  = ANil
+  | AFalse
+  | ATrue
+  | ANumber (String)
+  | AString (MToken)
+  | AVarArg
+  | AnonymousFunc (([MToken])) (Block)
+  | APrefixExpr (PrefixExp)
+  | ATableConstructor (FieldList)
+  | BinOpExpr (BinOp) (MExpr) (MExpr)
+  | UnOpExpr (UnOp) (MExpr)
+  deriving (Generic, Show)
+
 -- ExprSuffixList ----------------------------------------------
 type ExprSuffixList = [PFExprSuffix]
+
 -- Field -------------------------------------------------------
-data Field = ExprField (MExpr) (MExpr) (FieldSep)
-           | NamedField (MToken) (MExpr) (FieldSep)
-           | UnnamedField (MExpr) (FieldSep)
-           deriving ( Generic,Show)
+data Field
+  = ExprField (MExpr) (MExpr) (FieldSep)
+  | NamedField (MToken) (MExpr) (FieldSep)
+  | UnnamedField (MExpr) (FieldSep)
+  deriving (Generic, Show)
+
 -- FieldList ---------------------------------------------------
 type FieldList = [Field]
+
 -- FieldSep ----------------------------------------------------
-data FieldSep = CommaSep
-              | SemicolonSep
-              | NoSep
-              deriving ( Eq,Generic,Show)
+data FieldSep
+  = CommaSep
+  | SemicolonSep
+  | NoSep
+  deriving (Eq, Generic, Show)
+
 -- FuncName ----------------------------------------------------
 data FuncName = FuncName (([MToken])) ((Maybe MToken))
-              deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- MElse -------------------------------------------------------
 data MElse = MElse (Region) (Block)
-           deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- MElseIf -----------------------------------------------------
 data MElseIf = MElseIf (Region) (ElseIf)
-             deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- MExpr -------------------------------------------------------
 data MExpr = MExpr (Region) (Expr)
-           deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- MExprList ---------------------------------------------------
 type MExprList = [MExpr]
+
 -- MStat -------------------------------------------------------
 data MStat = MStat (Region) (Stat)
-           deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- MStatList ---------------------------------------------------
 type MStatList = [MStat]
+
 -- MaybeMExpr --------------------------------------------------
 type MaybeMExpr = Maybe (MExpr)
+
 -- PFExprSuffix ------------------------------------------------
-data PFExprSuffix = Call (Args)
-                  | MetaCall (MToken) (Args)
-                  | ExprIndex (MExpr)
-                  | DotIndex (MToken)
-                  deriving ( Generic,Show)
+data PFExprSuffix
+  = Call (Args)
+  | MetaCall (MToken) (Args)
+  | ExprIndex (MExpr)
+  | DotIndex (MToken)
+  deriving (Generic, Show)
+
 -- PrefixExp ---------------------------------------------------
-data PrefixExp = PFVar (MToken) (ExprSuffixList)
-               | ExprVar (MExpr) (ExprSuffixList)
-               deriving ( Generic,Show)
+data PrefixExp
+  = PFVar (MToken) (ExprSuffixList)
+  | ExprVar (MExpr) (ExprSuffixList)
+  deriving (Generic, Show)
+
 -- Stat --------------------------------------------------------
-data Stat = Def (VarsList)
-          | LocDef (VarsList)
-          | AFuncCall (PrefixExp)
-          | ALabel (MToken)
-          | ABreak
-          | AContinue
-          | AGoto (MToken)
-          | ADo (Block)
-          | AWhile (MExpr) (Block)
-          | ARepeat (Block) (MExpr)
-          | AIf (MExpr) (Block) (ElseIfList) (Else)
-          | ANFor (MToken) (MExpr) (MExpr) (MExpr) (Block)
-          | AGFor (([MToken])) (MExprList) (Block)
-          | AFunc (FuncName) (([MToken])) (Block)
-          | ALocFunc (FuncName) (([MToken])) (Block)
-          deriving ( Generic,Show)
+data Stat
+  = Def (VarsList)
+  | LocDef (VarsList)
+  | AFuncCall (PrefixExp)
+  | ALabel (MToken)
+  | ABreak
+  | AContinue
+  | AGoto (MToken)
+  | ADo (Block)
+  | AWhile (MExpr) (Block)
+  | ARepeat (Block) (MExpr)
+  | AIf (MExpr) (Block) (ElseIfList) (Else)
+  | ANFor (MToken) (MExpr) (MExpr) (MExpr) (Block)
+  | AGFor (([MToken])) (MExprList) (Block)
+  | AFunc (FuncName) (([MToken])) (Block)
+  | ALocFunc (FuncName) (([MToken])) (Block)
+  deriving (Generic, Show)
+
 -- UnOp --------------------------------------------------------
-data UnOp = UnMinus
-          | ANot
-          | AHash
-          deriving ( Generic,Show)
+data UnOp
+  = UnMinus
+  | ANot
+  | AHash
+  deriving (Generic, Show)
+
 -- VarsList ----------------------------------------------------
 type VarsList = [Declaration]
diff --git a/src/GLua/AG/PrettyPrint.hs b/src/GLua/AG/PrettyPrint.hs
--- a/src/GLua/AG/PrettyPrint.hs
+++ b/src/GLua/AG/PrettyPrint.hs
@@ -1,8771 +1,7288 @@
-
-
-{-# LANGUAGE DeriveGeneric #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
--- UUAGC 0.9.53.1 (src/GLua/AG/PrettyPrint.ag)
-module GLua.AG.PrettyPrint where
-
-{-# LINE 10 "src/GLua/AG/AST.ag" #-}
-
-import GLua.AG.Token
-import GLua.TokenTypes ()
-import GHC.Generics
-import Data.Aeson
-{-# LINE 15 "src/GLua/AG/PrettyPrint.hs" #-}
-
-{-# LINE 4 "src/GLua/AG/PrettyPrint.ag" #-}
-
-import Prelude hiding ((<>))
-import Data.List (foldl', isInfixOf)
-import GLua.AG.AST
-import Text.PrettyPrint hiding (parens, brackets, braces)
-import GLua.TokenTypes
-import Data.Maybe
-import Text.Parsec
-import Text.Parsec.Error
-import Text.ParserCombinators.UU.BasicInstances hiding (pos)
-import Debug.Trace
-{-# LINE 29 "src/GLua/AG/PrettyPrint.hs" #-}
-{-# LINE 19 "src/GLua/AG/PrettyPrint.ag" #-}
-
-
-tok :: MToken -> Doc
-tok (MToken _ t) = zeroWidthText . show $ t
-
-printList :: (a -> Doc) -> String -> [a] -> Doc
-printList _ _ []       = empty
-printList f sep' (e : es) = (f e) <> g es
-    where
-        g []       = empty
-        g (e' : es') = zeroWidthText sep' <> (f e') <> g es'
-
-data IsEmpty = IsEmpty | NonEmpty
-
-fromEmpty :: IsEmpty -> Bool
-fromEmpty IsEmpty = True
-fromEmpty NonEmpty = False
-
-toEmpty :: Bool -> IsEmpty
-toEmpty b = if b then IsEmpty else NonEmpty
-
-data PrettyPrintConfig = PPConfig {
-    spaceAfterParens :: Bool,
-    spaceAfterBrackets :: Bool,
-    spaceAfterBraces :: Bool,
-    spaceEmptyParens :: Bool,
-    spaceEmptyBraces :: Bool,
-    spaceAfterLabel :: Bool,
-    spaceBeforeComma :: Bool,
-    spaceAfterComma :: Bool,
-    semicolons :: Bool,
-    cStyle :: Bool,
-    removeRedundantParens :: Bool,
-    minimizeParens :: Bool,
-    assumeOperatorAssociativity :: Bool,
-    indentation :: String
-}
-
-defaultPPConfig :: PrettyPrintConfig
-defaultPPConfig = PPConfig {
-    spaceAfterParens = False,
-    spaceAfterBrackets = False,
-    spaceAfterBraces = False,
-    spaceEmptyParens = False,
-    spaceEmptyBraces = False,
-    spaceAfterLabel = False,
-    spaceBeforeComma = False,
-    spaceAfterComma = True,
-    semicolons = False,
-    cStyle = False,
-    removeRedundantParens = True,
-    assumeOperatorAssociativity = True,
-    minimizeParens = False,
-    indentation = "    "
-}
-
-metaDoc :: Maybe MToken -> Doc
-metaDoc (Just m) = zchr ':' <> tok m
-metaDoc Nothing  = empty
-
-printVarList :: [(PrefixExp, Maybe MExpr)] -> Doc
-printVarList vars = printList pp_prefixexp ", " (map fst vars) <-> zchr '=' <-> printList pp_mexpr ", " (catMaybes . map snd $ vars)
-
-printStats :: [MStat] -> Int -> Doc
-printStats [] _ = empty
-printStats (x : xs) i = nest (i * 4) (pp_mstat x i) $+$ printStats xs i
-
-printElIfs :: [(MExpr, Block)] -> Int -> Doc
-printElIfs [] _ = empty
-printElIfs ((e, b) : es) i = zeroWidthText "elseif" <-> pp_mexpr e <-> zeroWidthText "then" $+$ pp_block b i $+$ printElIfs es i
-
-printEls :: Maybe Block -> Int -> Doc
-printEls Nothing _ = empty
-printEls (Just b) i = zeroWidthText "else" $+$ pp_block b i
-
-
-renderPos :: LineColPos -> String
-renderPos (LineColPos l c _) = "line " ++ show (succ l) ++ ", column " ++ show (succ c)
-
-renderRegion :: Region -> String
-renderRegion (Region l r) = renderPos l ++ " - " ++ renderPos r
-
-renderSourcePos :: SourcePos -> String
-renderSourcePos sp = "line " ++ (show . succ . sourceLine $ sp) ++ ", column " ++ (show . succ . sourceColumn $ sp)
-
-getMStatPos :: MStat -> String
-getMStatPos (MStat p _) = renderRegion p
-
-getAReturnPos :: AReturn -> String
-getAReturnPos (AReturn p _) = renderRegion p
-getAReturnPos NoReturn = "<unknown>"
-
-getMExprPos :: MExpr -> String
-getMExprPos (MExpr p _) = renderRegion p
-
-renderError :: Error LineColPos -> String
-renderError (Inserted str pos strs)       = renderPos pos ++ ": Inserted '" ++ str ++ "'." ++ render_expecting strs
-renderError (Deleted str pos strs)        = renderPos pos ++ ": Removed '" ++ str ++ "'. " ++render_expecting strs
-renderError (Replaced str1 str2 pos strs) = renderPos pos ++ ": Replaced '" ++ str1 ++ "' with '" ++ str2 ++ "' at " ++ renderPos pos ++ render_expecting strs
-renderError (DeletedAtEnd str)            = "Deleted '"  ++ str ++ "' at the end of the Lua file because the parser doesn't know what to do with it."
-
-render_expecting :: [String] -> String
-render_expecting [a]    = "Parser expected a " ++ a
-render_expecting (a:as) = "Parser expected one of [" ++ a ++ concat (map (", " ++) as) ++ "]"
-render_expecting []     = "Parser expected nothing"
-
-
-renderPSError :: ParseError -> String
-renderPSError ps = map replNL . showErrorMessages "or" "unknown parse error" "expecting" "unexpected" "end of input" . errorMessages $ ps
-    where
-        replNL '\n' = ' '
-        replNL c = c
-
--- | Render comments on multiple lines
-renderMLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc
-renderMLComments conf ind toks = foldl' ($+$) empty . map (indent conf ind . tok . convertComment conf) $ toks
-
--- | Render comments, and prefer having them on a single line. It may not print comments on the same
--- line if that would cause a syntax error (e.g. a multiline comment after a single line comment)
-renderSLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc
-renderSLComments conf ind toks = foldl' combine empty . map (convertComment conf) $ toks
-    where
-        combine :: Doc -> MToken -> Doc
-        combine acc mt@(MToken _pos t) =
-          case t of
-            -- Block comments after single line comments cannot be printed on the same line, as that
-            -- would cause a syntax error, e.g. in this case:
-
-            -- foo = { -- single line comment
-            -- --[[multiline
-            -- comment
-            -- ]]
-            -- }
-            -- Make sure in these cases the comment is printed on a new line, rather than on the
-            -- same line
-            DashBlockComment _depth comment | '\n' `elem` comment ->
-              acc $+$ (indent conf ind $ tok mt)
-            SlashBlockComment comment | '\n' `elem` comment ->
-              acc $+$ (indent conf ind $ tok mt)
-            _ -> acc <-> tok mt
-
-convertComment :: PrettyPrintConfig -> MToken -> MToken
-convertComment conf (MToken p t) = MToken p $ convert' t
-    where
-        convert' :: Token -> Token
-        convert' = if cStyle conf then cComment else luaComment
-
-        luaComment :: Token -> Token
-        luaComment (SlashComment s) = DashComment s
-        luaComment (SlashBlockComment s) = DashBlockComment (lastBracket s) s
-        luaComment t' = t'
-
-        -- converting /*]*/ would end up in --[[]]] when plainly converted
-        -- Deepen the block comment by 1 if that's the case
-        lastBracket :: String -> Int
-        lastBracket [] = 0
-        lastBracket s = if last s == ']' then 1 else 0
-
-        cComment :: Token -> Token
-        cComment (DashComment s) = SlashComment s
-        cComment (DashBlockComment _ s) = SlashBlockComment s
-        cComment t' = t'
-
-indent :: PrettyPrintConfig -> Int -> Doc -> Doc
-indent conf n = (<>) $ zeroWidthText (concat . replicate n $ indentation conf)
-
-parens :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc
-parens conf ie doc = zchr '(' `sep'` doc `sep'` zchr ')'
-    where
-        sep' :: Doc -> Doc -> Doc
-        sep' = if spaceAfterParens conf && (not (fromEmpty ie) || spaceEmptyParens conf) then (<->) else (<>)
-
-brackets :: PrettyPrintConfig -> Doc -> Doc
-brackets conf doc = zchr '[' `sep'` doc `sep'` zchr ']'
-    where
-        sep' :: Doc -> Doc -> Doc
-        sep' = if spaceAfterBrackets conf then (<->) else (<>)
-
-braces :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc
-braces conf ie doc = zchr '{' `sep'` doc `sep'` zchr '}'
-    where
-        sep' :: Doc -> Doc -> Doc
-        sep' = if spaceAfterBraces conf && (not (fromEmpty ie) || spaceEmptyBraces conf) then (<->) else (<>)
-
--- Zero width char
-zchr :: Char -> Doc
-zchr c = zeroWidthText [c]
-
--- Zero width <+>
-infixl 6 <->
-(<->) :: Doc -> Doc -> Doc
-a <-> b | a == empty = b
-        | b == empty = a
-        | otherwise  = a <> zchr ' ' <> b
-
--- Operator levels, where level 1 is the lowest level, and level 8 is the highest one
--- See http://www.lua.org/manual/5.2/manual.html#3.4.7
-data OperatorLevel
-    -- At the top level, there is no assigned operator level yet. This serves as a bottom value.
-    = TopLevelExpression
-    | OperatorLevel1
-    | OperatorLevel2
-    | OperatorLevel3
-    | OperatorLevel4
-    | OperatorLevel5
-    | OperatorLevel6
-    | OperatorLevel7
-    | OperatorLevel8
-    deriving (Eq, Ord)
-
--- | Returns true when any of the comments contain the string "format: multiline"
-commentsForceMultiline :: [MToken] -> Bool
-commentsForceMultiline commentTokens = any containsFormatMultiline commentTokens
-  where
-    containsFormatMultiline :: MToken -> Bool
-    containsFormatMultiline (MToken _pos t) = case t of
-        DashComment comment -> stringForcesFormat comment
-        DashBlockComment _ comment -> stringForcesFormat comment
-        SlashComment comment -> stringForcesFormat comment
-        SlashBlockComment comment -> stringForcesFormat comment
-        _ -> False
-
-    stringForcesFormat :: String -> Bool
-    stringForcesFormat s = "format: multiline" `isInfixOf` s
-
-{-# LINE 256 "src/GLua/AG/PrettyPrint.hs" #-}
-
-{-# LINE 881 "src/GLua/AG/PrettyPrint.ag" #-}
-
-
-pp_block :: Block -> Int -> Doc
-pp_block p i = pretty_Syn_Block (wrap_Block (sem_Block p) (emptyInh_Block {indent_Inh_Block = i}))
-
-pp_mstat :: MStat -> Int -> Doc
-pp_mstat p i = pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat {indent_Inh_MStat = i})
-
-pp_prefixexp :: PrefixExp -> Doc
-pp_prefixexp p = pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)
-
-pp_pfexprsuffix :: PFExprSuffix -> Doc
-pp_pfexprsuffix p = pretty_Syn_PFExprSuffix (wrap_PFExprSuffix (sem_PFExprSuffix p) emptyInh_PFExprSuffix)
-
-pp_field :: Field -> Doc
-pp_field p = pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)
-
-pp_mexpr :: MExpr -> Doc
-pp_mexpr p = pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)
-
-prettyprint :: AST -> String
-prettyprint p = render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST)
-
-prettyprintConf :: PrettyPrintConfig -> AST -> String
-prettyprintConf conf p = render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST {ppconf_Inh_AST = conf})
-
-renderBlock        :: Block -> String
-renderBlock p      = render $ pretty_Syn_Block (wrap_Block (sem_Block p) emptyInh_Block)
-
-renderStat         :: Stat -> String
-renderStat p       = render $ pretty_Syn_Stat (wrap_Stat (sem_Stat p) emptyInh_Stat)
-
-renderMStat         :: MStat -> String
-renderMStat p       = render $ pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat)
-
-renderAReturn      :: AReturn -> String
-renderAReturn p    = render $ pretty_Syn_AReturn (wrap_AReturn (sem_AReturn p) emptyInh_AReturn)
-
-renderFuncName     :: FuncName -> String
-renderFuncName p   = render $ pretty_Syn_FuncName (wrap_FuncName (sem_FuncName p) emptyInh_FuncName)
-
-renderPrefixExp    :: PrefixExp -> String
-renderPrefixExp p  = render $ pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)
-
-renderExpr         :: Expr -> String
-renderExpr p       = render $ pretty_Syn_Expr (wrap_Expr (sem_Expr p) emptyInh_Expr)
-
-renderMExpr         :: MExpr -> String
-renderMExpr p       = render $ pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)
-
-renderArgs         :: Args -> String
-renderArgs p       = render $ pretty_Syn_Args (wrap_Args (sem_Args p) emptyInh_Args)
-
-renderField        :: Field -> String
-renderField p      = render $ pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)
-
-emptyInh_Field :: Inh_Field
-emptyInh_Field =
-    Inh_Field
-      { comments_Inh_Field = []
-      , forceMultiline_Inh_Field = False
-      , indent_Inh_Field = 0
-      , ppconf_Inh_Field = defaultPPConfig
-      }
-
-emptyInh_Args :: Inh_Args
-emptyInh_Args =
-    Inh_Args
-      { comments_Inh_Args = []
-      , forceMultiline_Inh_Args = False
-      , indent_Inh_Args = 0
-      , ppconf_Inh_Args = defaultPPConfig
-      }
-
-emptyInh_MExpr :: Inh_MExpr
-emptyInh_MExpr =
-    Inh_MExpr
-      { comments_Inh_MExpr = []
-      , forceMultiline_Inh_MExpr = False
-      , indent_Inh_MExpr = 0
-      , parentOperatorAssociative_Inh_MExpr = True
-      , parentOperatorPrecedence_Inh_MExpr = TopLevelExpression
-      , ppconf_Inh_MExpr = defaultPPConfig
-      }
-
-emptyInh_Expr :: Inh_Expr
-emptyInh_Expr =
-    Inh_Expr
-      { comments_Inh_Expr = []
-      , forceMultiline_Inh_Expr = False
-      , indent_Inh_Expr = 0
-      , parentOperatorAssociative_Inh_Expr = True
-      , parentOperatorPrecedence_Inh_Expr = TopLevelExpression
-      , ppconf_Inh_Expr = defaultPPConfig
-      , statRegion_Inh_Expr = emptyRg
-      }
-
-emptyInh_PrefixExp :: Inh_PrefixExp
-emptyInh_PrefixExp =
-    Inh_PrefixExp
-      { comments_Inh_PrefixExp = []
-      , forceMultiline_Inh_PrefixExp = False
-      , indent_Inh_PrefixExp = 0
-      , parentOperatorAssociative_Inh_PrefixExp = True
-      , parentOperatorPrecedence_Inh_PrefixExp = TopLevelExpression
-      , ppconf_Inh_PrefixExp = defaultPPConfig
-      }
-
-emptyInh_FuncName :: Inh_FuncName
-emptyInh_FuncName =
-    Inh_FuncName
-      { comments_Inh_FuncName = []
-      , indent_Inh_FuncName = 0
-      , ppconf_Inh_FuncName = defaultPPConfig
-      }
-
-emptyInh_AReturn :: Inh_AReturn
-emptyInh_AReturn =
-    Inh_AReturn
-      { comments_Inh_AReturn = []
-      , forceMultiline_Inh_AReturn = False
-      , indent_Inh_AReturn = 0
-      , ppconf_Inh_AReturn = defaultPPConfig
-      }
-
-emptyInh_MStat :: Inh_MStat
-emptyInh_MStat =
-    Inh_MStat
-      { comments_Inh_MStat = []
-      , forceMultiline_Inh_MStat = False
-      , indent_Inh_MStat = 0
-      , isLastStatement_Inh_MStat = False
-      , ppconf_Inh_MStat = defaultPPConfig
-      , wouldBeAmbiguousWithoutSemicolon_Inh_MStat = False
-      }
-
-emptyInh_Stat :: Inh_Stat
-emptyInh_Stat =
-    Inh_Stat
-      { comments_Inh_Stat = []
-      , forceMultiline_Inh_Stat = False
-      , indent_Inh_Stat = 0
-      , isLastStatement_Inh_Stat = False
-      , ppconf_Inh_Stat = defaultPPConfig
-      , statRegion_Inh_Stat = emptyRg
-      , wouldBeAmbiguousWithoutSemicolon_Inh_Stat = False
-      }
-
-emptyInh_Block :: Inh_Block
-emptyInh_Block =
-    Inh_Block
-      { comments_Inh_Block = []
-      , forceMultiline_Inh_Block = False
-      , indent_Inh_Block = 0
-      , ppconf_Inh_Block = defaultPPConfig
-      , statRegion_Inh_Block = emptyRg
-      }
-
-emptyInh_AST :: Inh_AST
-emptyInh_AST =
-    Inh_AST
-      { indent_Inh_AST = 0
-      , ppconf_Inh_AST = defaultPPConfig
-      }
-
-emptyInh_PFExprSuffix :: Inh_PFExprSuffix
-emptyInh_PFExprSuffix =
-    Inh_PFExprSuffix
-      { comments_Inh_PFExprSuffix = []
-      , forceMultiline_Inh_PFExprSuffix = False
-      , indent_Inh_PFExprSuffix = 0
-      , ppconf_Inh_PFExprSuffix = defaultPPConfig
-      }
-
-{-# LINE 433 "src/GLua/AG/PrettyPrint.hs" #-}
--- AReturn -----------------------------------------------------
--- cata
-sem_AReturn :: AReturn ->
-               T_AReturn
-sem_AReturn (AReturn _pos _values) =
-    (sem_AReturn_AReturn _pos (sem_MExprList _values))
-sem_AReturn (NoReturn) =
-    (sem_AReturn_NoReturn)
--- semantic domain
-type T_AReturn = ([MToken]) ->
-                 Bool ->
-                 Int ->
-                 PrettyPrintConfig ->
-                 ( ([MToken]),AReturn,Bool,Bool,Doc,Int)
-data Inh_AReturn = Inh_AReturn {comments_Inh_AReturn :: ([MToken]),forceMultiline_Inh_AReturn :: Bool,indent_Inh_AReturn :: Int,ppconf_Inh_AReturn :: PrettyPrintConfig}
-data Syn_AReturn = Syn_AReturn {comments_Syn_AReturn :: ([MToken]),copy_Syn_AReturn :: AReturn,hasBreaking_Syn_AReturn :: Bool,isMultiline_Syn_AReturn :: Bool,pretty_Syn_AReturn :: Doc,statementCount_Syn_AReturn :: Int}
-wrap_AReturn :: T_AReturn ->
-                Inh_AReturn ->
-                Syn_AReturn
-wrap_AReturn sem (Inh_AReturn _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_AReturn _lhsOcomments _lhsOcopy _lhsOhasBreaking _lhsOisMultiline _lhsOpretty _lhsOstatementCount))
-sem_AReturn_AReturn :: Region ->
-                       T_MExprList ->
-                       T_AReturn
-sem_AReturn_AReturn pos_ values_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _valuesOcomments :: ([MToken])
-              _lhsOcomments :: ([MToken])
-              _valuesOisHead :: Bool
-              _valuesOforceMultiline :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOstatementCount :: Int
-              _lhsOcopy :: AReturn
-              _valuesOindent :: Int
-              _valuesOppconf :: PrettyPrintConfig
-              _valuesIcomments :: ([MToken])
-              _valuesIcopy :: MExprList
-              _valuesIisAssociative :: Bool
-              _valuesIisMultiline :: Bool
-              _valuesIpos :: Region
-              _valuesIprecedence :: OperatorLevel
-              _valuesIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 654 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _prettyCommentsBefore     $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "return") <-> _valuesIpretty <> _semicolon     <-> _prettyCommentsAfter
-                   {-# LINE 485 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _isMultiline =
-                  ({-# LINE 655 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valuesIisMultiline
-                   {-# LINE 490 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 656 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf then zchr ';' else empty
-                   {-# LINE 495 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsBefore =
-                  ({-# LINE 657 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore    )
-                   {-# LINE 500 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsAfter =
-                  ({-# LINE 658 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
-                   {-# LINE 505 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsBefore =
-                  ({-# LINE 659 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then span (\(MToken pos _) -> pos `before` pos_) _lhsIcomments else ([], _lhsIcomments)
-                   {-# LINE 510 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsAfter =
-                  ({-# LINE 660 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then span (\(MToken pos _) -> pos `beforeOrOnLine` (rgOr _valuesIpos pos_)) (snd _commentsBefore    ) else ([], snd _commentsBefore    )
-                   {-# LINE 515 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valuesOcomments =
-                  ({-# LINE 661 "src/GLua/AG/PrettyPrint.ag" #-}
-                   snd _commentsAfter
-                   {-# LINE 520 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 662 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valuesIcomments
-                   {-# LINE 525 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valuesOisHead =
-                  ({-# LINE 663 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 530 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valuesOforceMultiline =
-                  ({-# LINE 667 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 535 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 668 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 540 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isMultiline
-                   {-# LINE 545 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstatementCount =
-                  ({-# LINE 303 "src/GLua/AG/PrettyPrint.ag" #-}
-                   1
-                   {-# LINE 550 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AReturn pos_ _valuesIcopy
-                   {-# LINE 555 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 560 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valuesOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 565 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valuesOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 570 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _valuesIcomments,_valuesIcopy,_valuesIisAssociative,_valuesIisMultiline,_valuesIpos,_valuesIprecedence,_valuesIpretty) =
-                  values_ _valuesOcomments _valuesOforceMultiline _valuesOindent _valuesOisHead _valuesOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount)))
-sem_AReturn_NoReturn :: T_AReturn
-sem_AReturn_NoReturn =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOstatementCount :: Int
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: AReturn
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 669 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 590 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstatementCount =
-                  ({-# LINE 670 "src/GLua/AG/PrettyPrint.ag" #-}
-                   0
-                   {-# LINE 595 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 600 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 605 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   NoReturn
-                   {-# LINE 610 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 615 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 620 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount)))
--- AST ---------------------------------------------------------
--- cata
-sem_AST :: AST ->
-           T_AST
-sem_AST (AST _comments _chunk) =
-    (sem_AST_AST _comments (sem_Block _chunk))
--- semantic domain
-type T_AST = Int ->
-             PrettyPrintConfig ->
-             ( AST,Bool,Doc)
-data Inh_AST = Inh_AST {indent_Inh_AST :: Int,ppconf_Inh_AST :: PrettyPrintConfig}
-data Syn_AST = Syn_AST {copy_Syn_AST :: AST,isMultiline_Syn_AST :: Bool,pretty_Syn_AST :: Doc}
-wrap_AST :: T_AST ->
-            Inh_AST ->
-            Syn_AST
-wrap_AST sem (Inh_AST _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIindent _lhsIppconf
-     in  (Syn_AST _lhsOcopy _lhsOisMultiline _lhsOpretty))
-sem_AST_AST :: ([MToken]) ->
-               T_Block ->
-               T_AST
-sem_AST_AST comments_ chunk_ =
-    (\ _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _chunkOcomments :: ([MToken])
-              _chunkOstatRegion :: Region
-              _chunkOforceMultiline :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: AST
-              _chunkOindent :: Int
-              _chunkOppconf :: PrettyPrintConfig
-              _chunkIcomments :: ([MToken])
-              _chunkIcopy :: Block
-              _chunkIhasBreaking :: Bool
-              _chunkIisMultiline :: Bool
-              _chunkIpretty :: Doc
-              _chunkIstatementCount :: Int
-              _lhsOpretty =
-                  ({-# LINE 530 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _chunkIpretty $+$ _prettyComments
-                   {-# LINE 664 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyComments =
-                  ({-# LINE 531 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderMLComments _lhsIppconf _lhsIindent _chunkIcomments
-                   {-# LINE 669 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _chunkOcomments =
-                  ({-# LINE 532 "src/GLua/AG/PrettyPrint.ag" #-}
-                   comments_
-                   {-# LINE 674 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _chunkOstatRegion =
-                  ({-# LINE 533 "src/GLua/AG/PrettyPrint.ag" #-}
-                   emptyRg
-                   {-# LINE 679 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _chunkOforceMultiline =
-                  ({-# LINE 534 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 684 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _chunkIisMultiline
-                   {-# LINE 689 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AST comments_ _chunkIcopy
-                   {-# LINE 694 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 699 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _chunkOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 704 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _chunkOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 709 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _chunkIcomments,_chunkIcopy,_chunkIhasBreaking,_chunkIisMultiline,_chunkIpretty,_chunkIstatementCount) =
-                  chunk_ _chunkOcomments _chunkOforceMultiline _chunkOindent _chunkOppconf _chunkOstatRegion
-          in  ( _lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
--- Args --------------------------------------------------------
--- cata
-sem_Args :: Args ->
-            T_Args
-sem_Args (ListArgs _args) =
-    (sem_Args_ListArgs (sem_MExprList _args))
-sem_Args (TableArg _arg) =
-    (sem_Args_TableArg (sem_FieldList _arg))
-sem_Args (StringArg _arg) =
-    (sem_Args_StringArg _arg)
--- semantic domain
-type T_Args = ([MToken]) ->
-              Bool ->
-              Int ->
-              PrettyPrintConfig ->
-              ( ([MToken]),Args,Bool,Doc)
-data Inh_Args = Inh_Args {comments_Inh_Args :: ([MToken]),forceMultiline_Inh_Args :: Bool,indent_Inh_Args :: Int,ppconf_Inh_Args :: PrettyPrintConfig}
-data Syn_Args = Syn_Args {comments_Syn_Args :: ([MToken]),copy_Syn_Args :: Args,isMultiline_Syn_Args :: Bool,pretty_Syn_Args :: Doc}
-wrap_Args :: T_Args ->
-             Inh_Args ->
-             Syn_Args
-wrap_Args sem (Inh_Args _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_Args _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))
-sem_Args_ListArgs :: T_MExprList ->
-                     T_Args
-sem_Args_ListArgs args_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _argsOisHead :: Bool
-              _argsOindent :: Int
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Args
-              _lhsOcomments :: ([MToken])
-              _argsOcomments :: ([MToken])
-              _argsOforceMultiline :: Bool
-              _argsOppconf :: PrettyPrintConfig
-              _argsIcomments :: ([MToken])
-              _argsIcopy :: MExprList
-              _argsIisAssociative :: Bool
-              _argsIisMultiline :: Bool
-              _argsIpos :: Region
-              _argsIprecedence :: OperatorLevel
-              _argsIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 782 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _argsIisMultiline then
-                       zchr '(' $+$
-                       indent _lhsIppconf (_lhsIindent + 1) _argsIpretty $+$
-                       indent _lhsIppconf _lhsIindent (zchr ')')
-                   else
-                       parens _lhsIppconf _emptyParams     _argsIpretty
-                   {-# LINE 769 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _emptyParams =
-                  ({-# LINE 789 "src/GLua/AG/PrettyPrint.ag" #-}
-                   toEmpty $ null _argsIcopy
-                   {-# LINE 774 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOisHead =
-                  ({-# LINE 790 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 779 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOindent =
-                  ({-# LINE 791 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _argsIisMultiline then _lhsIindent + 1 else 0
-                   {-# LINE 784 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIisMultiline
-                   {-# LINE 789 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ListArgs _argsIcopy
-                   {-# LINE 794 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 799 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIcomments
-                   {-# LINE 804 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 809 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 814 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 819 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _argsIcomments,_argsIcopy,_argsIisAssociative,_argsIisMultiline,_argsIpos,_argsIprecedence,_argsIpretty) =
-                  args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOisHead _argsOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
-sem_Args_TableArg :: T_FieldList ->
-                     T_Args
-sem_Args_TableArg arg_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _argOindent :: Int
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Args
-              _lhsOcomments :: ([MToken])
-              _argOcomments :: ([MToken])
-              _argOforceMultiline :: Bool
-              _argOppconf :: PrettyPrintConfig
-              _argIcanFitOnSameLine :: Bool
-              _argIcomments :: ([MToken])
-              _argIcopy :: FieldList
-              _argIisMultiline :: Bool
-              _argIisNil :: Bool
-              _argIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 792 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _argIisMultiline then _prettyMulti     else _prettySingle
-                   {-# LINE 848 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyMulti =
-                  ({-# LINE 793 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zchr '{' $+$ indent _lhsIppconf (_lhsIindent + 1) _argIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')
-                   {-# LINE 853 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettySingle =
-                  ({-# LINE 794 "src/GLua/AG/PrettyPrint.ag" #-}
-                   braces _lhsIppconf _emptyContents     _argIpretty
-                   {-# LINE 858 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _emptyContents =
-                  ({-# LINE 795 "src/GLua/AG/PrettyPrint.ag" #-}
-                   toEmpty $ null _argIcopy
-                   {-# LINE 863 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argOindent =
-                  ({-# LINE 796 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + (if _argIisMultiline then 1 else 0)
-                   {-# LINE 868 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argIisMultiline
-                   {-# LINE 873 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TableArg _argIcopy
-                   {-# LINE 878 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 883 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argIcomments
-                   {-# LINE 888 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 893 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 898 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 903 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _argIcanFitOnSameLine,_argIcomments,_argIcopy,_argIisMultiline,_argIisNil,_argIpretty) =
-                  arg_ _argOcomments _argOforceMultiline _argOindent _argOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
-sem_Args_StringArg :: MToken ->
-                      T_Args
-sem_Args_StringArg arg_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Args
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 797 "src/GLua/AG/PrettyPrint.ag" #-}
-                   tok arg_
-                   {-# LINE 922 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 927 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   StringArg arg_
-                   {-# LINE 932 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 937 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 942 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
--- BinOp -------------------------------------------------------
--- cata
-sem_BinOp :: BinOp ->
-             T_BinOp
-sem_BinOp (AOr) =
-    (sem_BinOp_AOr)
-sem_BinOp (AAnd) =
-    (sem_BinOp_AAnd)
-sem_BinOp (ALT) =
-    (sem_BinOp_ALT)
-sem_BinOp (AGT) =
-    (sem_BinOp_AGT)
-sem_BinOp (ALEQ) =
-    (sem_BinOp_ALEQ)
-sem_BinOp (AGEQ) =
-    (sem_BinOp_AGEQ)
-sem_BinOp (ANEq) =
-    (sem_BinOp_ANEq)
-sem_BinOp (AEq) =
-    (sem_BinOp_AEq)
-sem_BinOp (AConcatenate) =
-    (sem_BinOp_AConcatenate)
-sem_BinOp (APlus) =
-    (sem_BinOp_APlus)
-sem_BinOp (BinMinus) =
-    (sem_BinOp_BinMinus)
-sem_BinOp (AMultiply) =
-    (sem_BinOp_AMultiply)
-sem_BinOp (ADivide) =
-    (sem_BinOp_ADivide)
-sem_BinOp (AModulus) =
-    (sem_BinOp_AModulus)
-sem_BinOp (APower) =
-    (sem_BinOp_APower)
--- semantic domain
-type T_BinOp = ([MToken]) ->
-               Int ->
-               PrettyPrintConfig ->
-               ( ([MToken]),BinOp,Bool,Bool,OperatorLevel,Doc)
-data Inh_BinOp = Inh_BinOp {comments_Inh_BinOp :: ([MToken]),indent_Inh_BinOp :: Int,ppconf_Inh_BinOp :: PrettyPrintConfig}
-data Syn_BinOp = Syn_BinOp {comments_Syn_BinOp :: ([MToken]),copy_Syn_BinOp :: BinOp,isAssociative_Syn_BinOp :: Bool,isMultiline_Syn_BinOp :: Bool,precedence_Syn_BinOp :: OperatorLevel,pretty_Syn_BinOp :: Doc}
-wrap_BinOp :: T_BinOp ->
-              Inh_BinOp ->
-              Syn_BinOp
-wrap_BinOp sem (Inh_BinOp _lhsIcomments _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf
-     in  (Syn_BinOp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty))
-sem_BinOp_AOr :: T_BinOp
-sem_BinOp_AOr =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 872 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText (if cStyle _lhsIppconf then "||" else "or")
-                   {-# LINE 1006 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 873 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel1
-                   {-# LINE 1011 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 874 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1016 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1021 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AOr
-                   {-# LINE 1026 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1031 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1036 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AAnd :: T_BinOp
-sem_BinOp_AAnd =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 869 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText (if cStyle _lhsIppconf then "&&" else "and")
-                   {-# LINE 1053 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 870 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel2
-                   {-# LINE 1058 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 871 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1063 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1068 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AAnd
-                   {-# LINE 1073 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1078 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1083 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_ALT :: T_BinOp
-sem_BinOp_ALT =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 851 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "<"
-                   {-# LINE 1100 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 852 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel3
-                   {-# LINE 1105 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 853 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1110 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1115 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ALT
-                   {-# LINE 1120 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1125 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1130 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AGT :: T_BinOp
-sem_BinOp_AGT =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 857 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText ">"
-                   {-# LINE 1147 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 858 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel3
-                   {-# LINE 1152 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 859 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1157 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1162 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AGT
-                   {-# LINE 1167 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1172 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1177 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_ALEQ :: T_BinOp
-sem_BinOp_ALEQ =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 854 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "<="
-                   {-# LINE 1194 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 855 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel3
-                   {-# LINE 1199 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 856 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1204 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1209 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ALEQ
-                   {-# LINE 1214 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1219 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1224 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AGEQ :: T_BinOp
-sem_BinOp_AGEQ =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 860 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText ">="
-                   {-# LINE 1241 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 861 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel3
-                   {-# LINE 1246 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 862 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1251 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1256 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AGEQ
-                   {-# LINE 1261 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1266 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1271 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_ANEq :: T_BinOp
-sem_BinOp_ANEq =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 866 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText (if cStyle _lhsIppconf then "!=" else "~=")
-                   {-# LINE 1288 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 867 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel3
-                   {-# LINE 1293 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 868 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1298 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1303 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ANEq
-                   {-# LINE 1308 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1313 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1318 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AEq :: T_BinOp
-sem_BinOp_AEq =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 863 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "=="
-                   {-# LINE 1335 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 864 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel3
-                   {-# LINE 1340 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 865 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1345 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1350 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AEq
-                   {-# LINE 1355 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1360 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1365 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AConcatenate :: T_BinOp
-sem_BinOp_AConcatenate =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 848 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText ".."
-                   {-# LINE 1382 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 849 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel4
-                   {-# LINE 1387 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 850 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1392 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1397 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AConcatenate
-                   {-# LINE 1402 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1407 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1412 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_APlus :: T_BinOp
-sem_BinOp_APlus =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 830 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "+"
-                   {-# LINE 1429 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 831 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel5
-                   {-# LINE 1434 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 832 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1439 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1444 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   APlus
-                   {-# LINE 1449 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1454 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1459 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_BinMinus :: T_BinOp
-sem_BinOp_BinMinus =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 833 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "-"
-                   {-# LINE 1476 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 834 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel5
-                   {-# LINE 1481 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 835 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1486 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1491 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   BinMinus
-                   {-# LINE 1496 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1501 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1506 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AMultiply :: T_BinOp
-sem_BinOp_AMultiply =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 836 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "*"
-                   {-# LINE 1523 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 837 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel6
-                   {-# LINE 1528 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 838 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1533 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1538 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AMultiply
-                   {-# LINE 1543 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1548 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1553 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_ADivide :: T_BinOp
-sem_BinOp_ADivide =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 839 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "/"
-                   {-# LINE 1570 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 840 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel6
-                   {-# LINE 1575 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 841 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1580 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1585 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ADivide
-                   {-# LINE 1590 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1595 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1600 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_AModulus :: T_BinOp
-sem_BinOp_AModulus =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 842 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "%"
-                   {-# LINE 1617 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 843 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel6
-                   {-# LINE 1622 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 844 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1627 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1632 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AModulus
-                   {-# LINE 1637 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1642 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1647 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_BinOp_APower :: T_BinOp
-sem_BinOp_APower =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: BinOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 845 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "^"
-                   {-# LINE 1664 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 846 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 1669 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 847 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1674 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 1679 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   APower
-                   {-# LINE 1684 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1689 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1694 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
--- Block -------------------------------------------------------
--- cata
-sem_Block :: Block ->
-             T_Block
-sem_Block (Block _stats _ret) =
-    (sem_Block_Block (sem_MStatList _stats) (sem_AReturn _ret))
--- semantic domain
-type T_Block = ([MToken]) ->
-               Bool ->
-               Int ->
-               PrettyPrintConfig ->
-               Region ->
-               ( ([MToken]),Block,Bool,Bool,Doc,Int)
-data Inh_Block = Inh_Block {comments_Inh_Block :: ([MToken]),forceMultiline_Inh_Block :: Bool,indent_Inh_Block :: Int,ppconf_Inh_Block :: PrettyPrintConfig,statRegion_Inh_Block :: Region}
-data Syn_Block = Syn_Block {comments_Syn_Block :: ([MToken]),copy_Syn_Block :: Block,hasBreaking_Syn_Block :: Bool,isMultiline_Syn_Block :: Bool,pretty_Syn_Block :: Doc,statementCount_Syn_Block :: Int}
-wrap_Block :: T_Block ->
-              Inh_Block ->
-              Syn_Block
-wrap_Block sem (Inh_Block _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
-     in  (Syn_Block _lhsOcomments _lhsOcopy _lhsOhasBreaking _lhsOisMultiline _lhsOpretty _lhsOstatementCount))
-sem_Block_Block :: T_MStatList ->
-                   T_AReturn ->
-                   T_Block
-sem_Block_Block stats_ ret_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _statsOisHead :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOstatementCount :: Int
-              _lhsOcopy :: Block
-              _lhsOcomments :: ([MToken])
-              _statsOcomments :: ([MToken])
-              _statsOforceMultiline :: Bool
-              _statsOindent :: Int
-              _statsOppconf :: PrettyPrintConfig
-              _statsOstatRegion :: Region
-              _retOcomments :: ([MToken])
-              _retOforceMultiline :: Bool
-              _retOindent :: Int
-              _retOppconf :: PrettyPrintConfig
-              _statsIcomments :: ([MToken])
-              _statsIcopy :: MStatList
-              _statsIhasBreaking :: Bool
-              _statsIisLast :: Bool
-              _statsIisMultiline :: Bool
-              _statsIpretty :: Doc
-              _statsIstartsWithExprPrefixExpression :: Bool
-              _statsIstatementCount :: Int
-              _retIcomments :: ([MToken])
-              _retIcopy :: AReturn
-              _retIhasBreaking :: Bool
-              _retIisMultiline :: Bool
-              _retIpretty :: Doc
-              _retIstatementCount :: Int
-              _newl =
-                  ({-# LINE 537 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _statsIstatementCount > 0 && _retIhasBreaking then zchr '\n' else empty
-                   {-# LINE 1760 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 538 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statsIpretty <> _newl     $+$ _retIpretty
-                   {-# LINE 1765 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statsOisHead =
-                  ({-# LINE 539 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1770 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statsIhasBreaking || _retIhasBreaking
-                   {-# LINE 1775 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statsIisMultiline || _retIisMultiline
-                   {-# LINE 1780 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstatementCount =
-                  ({-# LINE 303 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statsIstatementCount + _retIstatementCount
-                   {-# LINE 1785 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Block _statsIcopy _retIcopy
-                   {-# LINE 1790 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1795 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _retIcomments
-                   {-# LINE 1800 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1805 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 1810 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 1815 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 1820 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statsOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 1825 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _retOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statsIcomments
-                   {-# LINE 1830 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _retOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 1835 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _retOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 1840 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _retOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 1845 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _statsIcomments,_statsIcopy,_statsIhasBreaking,_statsIisLast,_statsIisMultiline,_statsIpretty,_statsIstartsWithExprPrefixExpression,_statsIstatementCount) =
-                  stats_ _statsOcomments _statsOforceMultiline _statsOindent _statsOisHead _statsOppconf _statsOstatRegion
-              ( _retIcomments,_retIcopy,_retIhasBreaking,_retIisMultiline,_retIpretty,_retIstatementCount) =
-                  ret_ _retOcomments _retOforceMultiline _retOindent _retOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount)))
--- Declaration -------------------------------------------------
--- cata
-sem_Declaration :: Declaration ->
-                   T_Declaration
-sem_Declaration ( x1,x2) =
-    (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))
--- semantic domain
-type T_Declaration = ([MToken]) ->
-                     Bool ->
-                     Int ->
-                     PrettyPrintConfig ->
-                     ( ([MToken]),Declaration,Bool,Doc,Bool,Bool,Doc,Bool,Doc)
-data Inh_Declaration = Inh_Declaration {comments_Inh_Declaration :: ([MToken]),forceMultiline_Inh_Declaration :: Bool,indent_Inh_Declaration :: Int,ppconf_Inh_Declaration :: PrettyPrintConfig}
-data Syn_Declaration = Syn_Declaration {comments_Syn_Declaration :: ([MToken]),copy_Syn_Declaration :: Declaration,endsWithPrefixExpression_Syn_Declaration :: Bool,exprPretty_Syn_Declaration :: Doc,isDefined_Syn_Declaration :: Bool,isMultiline_Syn_Declaration :: Bool,pretty_Syn_Declaration :: Doc,startsWithExprPrefixExpression_Syn_Declaration :: Bool,varPretty_Syn_Declaration :: Doc}
-wrap_Declaration :: T_Declaration ->
-                    Inh_Declaration ->
-                    Syn_Declaration
-wrap_Declaration sem (Inh_Declaration _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_Declaration _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty))
-sem_Declaration_Tuple :: T_PrefixExp ->
-                         T_MaybeMExpr ->
-                         T_Declaration
-sem_Declaration_Tuple x1_ x2_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOvarPretty :: Doc
-              _lhsOexprPretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _x1OparentOperatorPrecedence :: OperatorLevel
-              _x1OparentOperatorAssociative :: Bool
-              _lhsOisDefined :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Declaration
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty :: Doc
-              _x1Ocomments :: ([MToken])
-              _x1OforceMultiline :: Bool
-              _x1Oindent :: Int
-              _x1Oppconf :: PrettyPrintConfig
-              _x2Ocomments :: ([MToken])
-              _x2OforceMultiline :: Bool
-              _x2Oindent :: Int
-              _x2Oppconf :: PrettyPrintConfig
-              _x1Icomments :: ([MToken])
-              _x1Icopy :: PrefixExp
-              _x1IisAssociative :: Bool
-              _x1IisLiteral :: Bool
-              _x1IisMultiline :: Bool
-              _x1Iprecedence :: OperatorLevel
-              _x1Ipretty :: Doc
-              _x1IstartsWithExprPrefixExpression :: Bool
-              _x2Icomments :: ([MToken])
-              _x2Icopy :: MaybeMExpr
-              _x2IendsWithPrefixExpression :: Bool
-              _x2IisAssociative :: Bool
-              _x2IisDefined :: Bool
-              _x2IisMultiline :: Bool
-              _x2Iprecedence :: OperatorLevel
-              _x2Ipretty :: Doc
-              _lhsOvarPretty =
-                  ({-# LINE 468 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x1Ipretty
-                   {-# LINE 1918 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOexprPretty =
-                  ({-# LINE 469 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x2Ipretty
-                   {-# LINE 1923 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 470 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x1IstartsWithExprPrefixExpression
-                   {-# LINE 1928 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 471 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x2IendsWithPrefixExpression
-                   {-# LINE 1933 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1OparentOperatorPrecedence =
-                  ({-# LINE 472 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 1938 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1OparentOperatorAssociative =
-                  ({-# LINE 473 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 1943 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisDefined =
-                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x2IisDefined
-                   {-# LINE 1948 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x1IisMultiline || _x2IisMultiline
-                   {-# LINE 1953 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (_x1Icopy,_x2Icopy)
-                   {-# LINE 1958 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 1963 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x2Icomments
-                   {-# LINE 1968 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 248 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x2Ipretty
-                   {-# LINE 1973 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1Ocomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 1978 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1OforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 1983 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1Oindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 1988 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1Oppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 1993 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2Ocomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x1Icomments
-                   {-# LINE 1998 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2OforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 2003 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2Oindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 2008 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2Oppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 2013 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _x1Icomments,_x1Icopy,_x1IisAssociative,_x1IisLiteral,_x1IisMultiline,_x1Iprecedence,_x1Ipretty,_x1IstartsWithExprPrefixExpression) =
-                  x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf
-              ( _x2Icomments,_x2Icopy,_x2IendsWithPrefixExpression,_x2IisAssociative,_x2IisDefined,_x2IisMultiline,_x2Iprecedence,_x2Ipretty) =
-                  x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty)))
--- Else --------------------------------------------------------
--- cata
-sem_Else :: Else ->
-            T_Else
-sem_Else (Prelude.Just x) =
-    (sem_Else_Just (sem_MElse x))
-sem_Else Prelude.Nothing =
-    sem_Else_Nothing
--- semantic domain
-type T_Else = ([MToken]) ->
-              Bool ->
-              Int ->
-              PrettyPrintConfig ->
-              Region ->
-              ( ([MToken]),Else,Bool,Bool,Region,Doc)
-data Inh_Else = Inh_Else {comments_Inh_Else :: ([MToken]),forceMultiline_Inh_Else :: Bool,indent_Inh_Else :: Int,ppconf_Inh_Else :: PrettyPrintConfig,statRegion_Inh_Else :: Region}
-data Syn_Else = Syn_Else {comments_Syn_Else :: ([MToken]),copy_Syn_Else :: Else,elsesExist_Syn_Else :: Bool,isMultiline_Syn_Else :: Bool,pos_Syn_Else :: Region,pretty_Syn_Else :: Doc}
-wrap_Else :: T_Else ->
-             Inh_Else ->
-             Syn_Else
-wrap_Else sem (Inh_Else _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
-     in  (Syn_Else _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty))
-sem_Else_Just :: T_MElse ->
-                 T_Else
-sem_Else_Just just_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOelsesExist :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Else
-              _lhsOcomments :: ([MToken])
-              _lhsOpos :: Region
-              _lhsOpretty :: Doc
-              _justOcomments :: ([MToken])
-              _justOforceMultiline :: Bool
-              _justOindent :: Int
-              _justOppconf :: PrettyPrintConfig
-              _justOstatRegion :: Region
-              _justIcomments :: ([MToken])
-              _justIcopy :: MElse
-              _justIelsesExist :: Bool
-              _justIisMultiline :: Bool
-              _justIpos :: Region
-              _justIpretty :: Doc
-              _lhsOelsesExist =
-                  ({-# LINE 513 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2071 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIisMultiline
-                   {-# LINE 2076 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Just _justIcopy
-                   {-# LINE 2081 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2086 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIcomments
-                   {-# LINE 2091 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIpos
-                   {-# LINE 2096 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 248 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIpretty
-                   {-# LINE 2101 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2106 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 2111 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 2116 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 2121 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 2126 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _justIcomments,_justIcopy,_justIelsesExist,_justIisMultiline,_justIpos,_justIpretty) =
-                  just_ _justOcomments _justOforceMultiline _justOindent _justOppconf _justOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))
-sem_Else_Nothing :: T_Else
-sem_Else_Nothing =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOpos :: Region
-              _lhsOelsesExist :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Else
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 514 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 2147 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 515 "src/GLua/AG/PrettyPrint.ag" #-}
-                   emptyRg
-                   {-# LINE 2152 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOelsesExist =
-                  ({-# LINE 309 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2157 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2162 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Nothing
-                   {-# LINE 2167 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2172 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2177 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))
--- ElseIf ------------------------------------------------------
--- cata
-sem_ElseIf :: ElseIf ->
-              T_ElseIf
-sem_ElseIf ( x1,x2) =
-    (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))
--- semantic domain
-type T_ElseIf = ([MToken]) ->
-                Bool ->
-                Int ->
-                PrettyPrintConfig ->
-                ( ([MToken]),ElseIf,Bool,Doc)
-data Inh_ElseIf = Inh_ElseIf {comments_Inh_ElseIf :: ([MToken]),forceMultiline_Inh_ElseIf :: Bool,indent_Inh_ElseIf :: Int,ppconf_Inh_ElseIf :: PrettyPrintConfig}
-data Syn_ElseIf = Syn_ElseIf {comments_Syn_ElseIf :: ([MToken]),copy_Syn_ElseIf :: ElseIf,isMultiline_Syn_ElseIf :: Bool,pretty_Syn_ElseIf :: Doc}
-wrap_ElseIf :: T_ElseIf ->
-               Inh_ElseIf ->
-               Syn_ElseIf
-wrap_ElseIf sem (Inh_ElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_ElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))
-sem_ElseIf_Tuple :: T_MExpr ->
-                    T_Block ->
-                    T_ElseIf
-sem_ElseIf_Tuple x1_ x2_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _x2Oindent :: Int
-              _x2OstatRegion :: Region
-              _x1OparentOperatorPrecedence :: OperatorLevel
-              _x1OparentOperatorAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: ElseIf
-              _lhsOcomments :: ([MToken])
-              _x1Ocomments :: ([MToken])
-              _x1OforceMultiline :: Bool
-              _x1Oindent :: Int
-              _x1Oppconf :: PrettyPrintConfig
-              _x2Ocomments :: ([MToken])
-              _x2OforceMultiline :: Bool
-              _x2Oppconf :: PrettyPrintConfig
-              _x1Icomments :: ([MToken])
-              _x1Icopy :: MExpr
-              _x1IendsWithPrefixExpression :: Bool
-              _x1IisAssociative :: Bool
-              _x1IisLiteral :: Bool
-              _x1IisMultiline :: Bool
-              _x1Ipos :: Region
-              _x1Iprecedence :: OperatorLevel
-              _x1Ipretty :: Doc
-              _x2Icomments :: ([MToken])
-              _x2Icopy :: Block
-              _x2IhasBreaking :: Bool
-              _x2IisMultiline :: Bool
-              _x2Ipretty :: Doc
-              _x2IstatementCount :: Int
-              _lhsOpretty =
-                  ({-# LINE 496 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "elseif" <-> _x1Ipretty <-> zeroWidthText "then" $+$ _x2Ipretty
-                   {-# LINE 2241 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2Oindent =
-                  ({-# LINE 497 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 2246 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2OstatRegion =
-                  ({-# LINE 498 "src/GLua/AG/PrettyPrint.ag" #-}
-                   emptyRg
-                   {-# LINE 2251 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1OparentOperatorPrecedence =
-                  ({-# LINE 499 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 2256 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1OparentOperatorAssociative =
-                  ({-# LINE 500 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2261 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x1IisMultiline || _x2IisMultiline
-                   {-# LINE 2266 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (_x1Icopy,_x2Icopy)
-                   {-# LINE 2271 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2276 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x2Icomments
-                   {-# LINE 2281 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1Ocomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2286 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1OforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 2291 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1Oindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 2296 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x1Oppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 2301 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2Ocomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _x1Icomments
-                   {-# LINE 2306 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2OforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 2311 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _x2Oppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 2316 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _x1Icomments,_x1Icopy,_x1IendsWithPrefixExpression,_x1IisAssociative,_x1IisLiteral,_x1IisMultiline,_x1Ipos,_x1Iprecedence,_x1Ipretty) =
-                  x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf
-              ( _x2Icomments,_x2Icopy,_x2IhasBreaking,_x2IisMultiline,_x2Ipretty,_x2IstatementCount) =
-                  x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf _x2OstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
--- ElseIfList --------------------------------------------------
--- cata
-sem_ElseIfList :: ElseIfList ->
-                  T_ElseIfList
-sem_ElseIfList list =
-    (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))
--- semantic domain
-type T_ElseIfList = ([MToken]) ->
-                    Bool ->
-                    Int ->
-                    PrettyPrintConfig ->
-                    ( ([MToken]),ElseIfList,Bool,Bool,Region,Doc)
-data Inh_ElseIfList = Inh_ElseIfList {comments_Inh_ElseIfList :: ([MToken]),forceMultiline_Inh_ElseIfList :: Bool,indent_Inh_ElseIfList :: Int,ppconf_Inh_ElseIfList :: PrettyPrintConfig}
-data Syn_ElseIfList = Syn_ElseIfList {comments_Syn_ElseIfList :: ([MToken]),copy_Syn_ElseIfList :: ElseIfList,elsesExist_Syn_ElseIfList :: Bool,isMultiline_Syn_ElseIfList :: Bool,pos_Syn_ElseIfList :: Region,pretty_Syn_ElseIfList :: Doc}
-wrap_ElseIfList :: T_ElseIfList ->
-                   Inh_ElseIfList ->
-                   Syn_ElseIfList
-wrap_ElseIfList sem (Inh_ElseIfList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_ElseIfList _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty))
-sem_ElseIfList_Cons :: T_MElseIf ->
-                       T_ElseIfList ->
-                       T_ElseIfList
-sem_ElseIfList_Cons hd_ tl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOelsesExist :: Bool
-              _lhsOpos :: Region
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: ElseIfList
-              _lhsOcomments :: ([MToken])
-              _hdOcomments :: ([MToken])
-              _hdOforceMultiline :: Bool
-              _hdOindent :: Int
-              _hdOppconf :: PrettyPrintConfig
-              _tlOcomments :: ([MToken])
-              _tlOforceMultiline :: Bool
-              _tlOindent :: Int
-              _tlOppconf :: PrettyPrintConfig
-              _hdIcomments :: ([MToken])
-              _hdIcopy :: MElseIf
-              _hdIisMultiline :: Bool
-              _hdIpos :: Region
-              _hdIpretty :: Doc
-              _tlIcomments :: ([MToken])
-              _tlIcopy :: ElseIfList
-              _tlIelsesExist :: Bool
-              _tlIisMultiline :: Bool
-              _tlIpos :: Region
-              _tlIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 506 "src/GLua/AG/PrettyPrint.ag" #-}
-                   indent _lhsIppconf _lhsIindent _hdIpretty $+$ _tlIpretty
-                   {-# LINE 2379 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOelsesExist =
-                  ({-# LINE 507 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2384 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 508 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIpos
-                   {-# LINE 2389 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIisMultiline || _tlIisMultiline
-                   {-# LINE 2394 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (:) _hdIcopy _tlIcopy
-                   {-# LINE 2399 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2404 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIcomments
-                   {-# LINE 2409 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2414 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 2419 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 2424 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 2429 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcomments
-                   {-# LINE 2434 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 2439 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 2444 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 2449 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _hdIcomments,_hdIcopy,_hdIisMultiline,_hdIpos,_hdIpretty) =
-                  hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
-              ( _tlIcomments,_tlIcopy,_tlIelsesExist,_tlIisMultiline,_tlIpos,_tlIpretty) =
-                  tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))
-sem_ElseIfList_Nil :: T_ElseIfList
-sem_ElseIfList_Nil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOpos :: Region
-              _lhsOelsesExist :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: ElseIfList
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 509 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 2471 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 510 "src/GLua/AG/PrettyPrint.ag" #-}
-                   emptyRg
-                   {-# LINE 2476 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOelsesExist =
-                  ({-# LINE 309 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2481 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2486 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   []
-                   {-# LINE 2491 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2496 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2501 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))
--- Expr --------------------------------------------------------
--- cata
-sem_Expr :: Expr ->
-            T_Expr
-sem_Expr (ANil) =
-    (sem_Expr_ANil)
-sem_Expr (AFalse) =
-    (sem_Expr_AFalse)
-sem_Expr (ATrue) =
-    (sem_Expr_ATrue)
-sem_Expr (ANumber _num) =
-    (sem_Expr_ANumber _num)
-sem_Expr (AString _str) =
-    (sem_Expr_AString _str)
-sem_Expr (AVarArg) =
-    (sem_Expr_AVarArg)
-sem_Expr (AnonymousFunc _pars _body) =
-    (sem_Expr_AnonymousFunc _pars (sem_Block _body))
-sem_Expr (APrefixExpr _pexpr) =
-    (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))
-sem_Expr (ATableConstructor _fields) =
-    (sem_Expr_ATableConstructor (sem_FieldList _fields))
-sem_Expr (BinOpExpr _op _left _right) =
-    (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))
-sem_Expr (UnOpExpr _op _right) =
-    (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))
--- semantic domain
-type T_Expr = ([MToken]) ->
-              Bool ->
-              Int ->
-              Bool ->
-              OperatorLevel ->
-              PrettyPrintConfig ->
-              Region ->
-              ( ([MToken]),Expr,Bool,Bool,Bool,Bool,OperatorLevel,Doc)
-data Inh_Expr = Inh_Expr {comments_Inh_Expr :: ([MToken]),forceMultiline_Inh_Expr :: Bool,indent_Inh_Expr :: Int,parentOperatorAssociative_Inh_Expr :: Bool,parentOperatorPrecedence_Inh_Expr :: OperatorLevel,ppconf_Inh_Expr :: PrettyPrintConfig,statRegion_Inh_Expr :: Region}
-data Syn_Expr = Syn_Expr {comments_Syn_Expr :: ([MToken]),copy_Syn_Expr :: Expr,endsWithPrefixExpression_Syn_Expr :: Bool,isAssociative_Syn_Expr :: Bool,isLiteral_Syn_Expr :: Bool,isMultiline_Syn_Expr :: Bool,precedence_Syn_Expr :: OperatorLevel,pretty_Syn_Expr :: Doc}
-wrap_Expr :: T_Expr ->
-             Inh_Expr ->
-             Syn_Expr
-wrap_Expr sem (Inh_Expr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion
-     in  (Syn_Expr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty))
-sem_Expr_ANil :: T_Expr
-sem_Expr_ANil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 730 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "nil"
-                   {-# LINE 2567 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 731 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2572 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 732 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2577 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2582 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2587 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 2592 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ANil
-                   {-# LINE 2597 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2602 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2607 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_AFalse :: T_Expr
-sem_Expr_AFalse =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 733 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "false"
-                   {-# LINE 2630 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 734 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2635 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 735 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2640 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2645 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2650 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 2655 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AFalse
-                   {-# LINE 2660 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2665 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2670 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_ATrue :: T_Expr
-sem_Expr_ATrue =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 736 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "true"
-                   {-# LINE 2693 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 737 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2698 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 738 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2703 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2708 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2713 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 2718 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ATrue
-                   {-# LINE 2723 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2728 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2733 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_ANumber :: String ->
-                    T_Expr
-sem_Expr_ANumber num_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 739 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText num_
-                   {-# LINE 2757 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 740 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2762 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 741 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2767 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2772 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2777 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 2782 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ANumber num_
-                   {-# LINE 2787 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2792 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2797 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_AString :: MToken ->
-                    T_Expr
-sem_Expr_AString str_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 742 "src/GLua/AG/PrettyPrint.ag" #-}
-                   tok str_
-                   {-# LINE 2821 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 743 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2826 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 744 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2831 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2836 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2841 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 2846 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AString str_
-                   {-# LINE 2851 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2856 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2861 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_AVarArg :: T_Expr
-sem_Expr_AVarArg =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 745 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "..."
-                   {-# LINE 2884 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 746 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 2889 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 747 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2894 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2899 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2904 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 2909 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AVarArg
-                   {-# LINE 2914 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 2919 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 2924 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_AnonymousFunc :: ([MToken]) ->
-                          T_Block ->
-                          T_Expr
-sem_Expr_AnonymousFunc pars_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOendsWithPrefixExpression :: Bool
-              _bodyOindent :: Int
-              _lhsOpretty :: Doc
-              _lhsOisAssociative :: Bool
-              _lhsOisLiteral :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _isMultiline =
-                  ({-# LINE 748 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline || _bodyIisMultiline || _bodyIstatementCount > 1 || (_bodyIstatementCount == 1 && not _bodyIhasBreaking)
-                   {-# LINE 2960 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 749 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 2965 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _singleLinePretty =
-                  ({-# LINE 750 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "function" <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) pars_) <-> _bodyIpretty <-> zeroWidthText "end"
-                   {-# LINE 2970 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _multilinePretty =
-                  ({-# LINE 751 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "function" <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) pars_) $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 2975 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 752 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ',' <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
-                   {-# LINE 2980 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _emptyParams =
-                  ({-# LINE 753 "src/GLua/AG/PrettyPrint.ag" #-}
-                   toEmpty $ null pars_
-                   {-# LINE 2985 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 754 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then _lhsIindent + 1 else 0
-                   {-# LINE 2990 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 755 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then _multilinePretty     else _singleLinePretty
-                   {-# LINE 2995 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3000 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 262 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3005 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isMultiline
-                   {-# LINE 3010 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 3015 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AnonymousFunc pars_ _bodyIcopy
-                   {-# LINE 3020 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3025 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 3030 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3035 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3040 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3045 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 3050 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_APrefixExpr :: T_PrefixExp ->
-                        T_Expr
-sem_Expr_APrefixExpr pexpr_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisLiteral :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _pexprOcomments :: ([MToken])
-              _pexprOforceMultiline :: Bool
-              _pexprOindent :: Int
-              _pexprOparentOperatorAssociative :: Bool
-              _pexprOparentOperatorPrecedence :: OperatorLevel
-              _pexprOppconf :: PrettyPrintConfig
-              _pexprIcomments :: ([MToken])
-              _pexprIcopy :: PrefixExp
-              _pexprIisAssociative :: Bool
-              _pexprIisLiteral :: Bool
-              _pexprIisMultiline :: Bool
-              _pexprIprecedence :: OperatorLevel
-              _pexprIpretty :: Doc
-              _pexprIstartsWithExprPrefixExpression :: Bool
-              _lhsOpretty =
-                  ({-# LINE 756 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _pexprIpretty
-                   {-# LINE 3090 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 757 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 3095 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _pexprIisAssociative
-                   {-# LINE 3100 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 262 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _pexprIisLiteral
-                   {-# LINE 3105 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _pexprIisMultiline
-                   {-# LINE 3110 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _pexprIprecedence
-                   {-# LINE 3115 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   APrefixExpr _pexprIcopy
-                   {-# LINE 3120 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3125 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _pexprIcomments
-                   {-# LINE 3130 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _pexprOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3135 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _pexprOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3140 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _pexprOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3145 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _pexprOparentOperatorAssociative =
-                  ({-# LINE 259 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorAssociative
-                   {-# LINE 3150 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _pexprOparentOperatorPrecedence =
-                  ({-# LINE 258 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorPrecedence
-                   {-# LINE 3155 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _pexprOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3160 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _pexprIcomments,_pexprIcopy,_pexprIisAssociative,_pexprIisLiteral,_pexprIisMultiline,_pexprIprecedence,_pexprIpretty,_pexprIstartsWithExprPrefixExpression) =
-                  pexpr_ _pexprOcomments _pexprOforceMultiline _pexprOindent _pexprOparentOperatorAssociative _pexprOparentOperatorPrecedence _pexprOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_ATableConstructor :: T_FieldList ->
-                              T_Expr
-sem_Expr_ATableConstructor fields_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _fieldsOindent :: Int
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _fieldsOcomments :: ([MToken])
-              _fieldsOforceMultiline :: Bool
-              _fieldsOppconf :: PrettyPrintConfig
-              _fieldsIcanFitOnSameLine :: Bool
-              _fieldsIcomments :: ([MToken])
-              _fieldsIcopy :: FieldList
-              _fieldsIisMultiline :: Bool
-              _fieldsIisNil :: Bool
-              _fieldsIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 759 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then _prettyMulti     else _prettySingle
-                   {-# LINE 3196 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _isMultiline =
-                  ({-# LINE 760 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline || _fieldsIisMultiline
-                   {-# LINE 3201 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 761 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 3206 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 762 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3211 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyMulti =
-                  ({-# LINE 763 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zchr '{' $+$ indent _lhsIppconf (_lhsIindent + 1) _fieldsIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')
-                   {-# LINE 3216 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettySingle =
-                  ({-# LINE 764 "src/GLua/AG/PrettyPrint.ag" #-}
-                   braces _lhsIppconf _emptyContents     _fieldsIpretty
-                   {-# LINE 3221 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _emptyContents =
-                  ({-# LINE 765 "src/GLua/AG/PrettyPrint.ag" #-}
-                   toEmpty $ null _fieldsIcopy
-                   {-# LINE 3226 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fieldsOindent =
-                  ({-# LINE 766 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + (if _fieldsIisMultiline then 1 else 0)
-                   {-# LINE 3231 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3236 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isMultiline
-                   {-# LINE 3241 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 3246 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ATableConstructor _fieldsIcopy
-                   {-# LINE 3251 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3256 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _fieldsIcomments
-                   {-# LINE 3261 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fieldsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3266 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fieldsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3271 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fieldsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3276 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _fieldsIcanFitOnSameLine,_fieldsIcomments,_fieldsIcopy,_fieldsIisMultiline,_fieldsIisNil,_fieldsIpretty) =
-                  fields_ _fieldsOcomments _fieldsOforceMultiline _fieldsOindent _fieldsOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_BinOpExpr :: T_BinOp ->
-                      T_MExpr ->
-                      T_MExpr ->
-                      T_Expr
-sem_Expr_BinOpExpr op_ left_ right_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _leftOparentOperatorPrecedence :: OperatorLevel
-              _rightOparentOperatorPrecedence :: OperatorLevel
-              _leftOparentOperatorAssociative :: Bool
-              _rightOparentOperatorAssociative :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisLiteral :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _opOcomments :: ([MToken])
-              _opOindent :: Int
-              _opOppconf :: PrettyPrintConfig
-              _leftOcomments :: ([MToken])
-              _leftOforceMultiline :: Bool
-              _leftOindent :: Int
-              _leftOppconf :: PrettyPrintConfig
-              _rightOcomments :: ([MToken])
-              _rightOforceMultiline :: Bool
-              _rightOindent :: Int
-              _rightOppconf :: PrettyPrintConfig
-              _opIcomments :: ([MToken])
-              _opIcopy :: BinOp
-              _opIisAssociative :: Bool
-              _opIisMultiline :: Bool
-              _opIprecedence :: OperatorLevel
-              _opIpretty :: Doc
-              _leftIcomments :: ([MToken])
-              _leftIcopy :: MExpr
-              _leftIendsWithPrefixExpression :: Bool
-              _leftIisAssociative :: Bool
-              _leftIisLiteral :: Bool
-              _leftIisMultiline :: Bool
-              _leftIpos :: Region
-              _leftIprecedence :: OperatorLevel
-              _leftIpretty :: Doc
-              _rightIcomments :: ([MToken])
-              _rightIcopy :: MExpr
-              _rightIendsWithPrefixExpression :: Bool
-              _rightIisAssociative :: Bool
-              _rightIisLiteral :: Bool
-              _rightIisMultiline :: Bool
-              _rightIpos :: Region
-              _rightIprecedence :: OperatorLevel
-              _rightIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 767 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _leftIpretty <-> _opIpretty <-> _rightIpretty
-                   {-# LINE 3343 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 768 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _rightIendsWithPrefixExpression
-                   {-# LINE 3348 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 771 "src/GLua/AG/PrettyPrint.ag" #-}
-                   min _opIprecedence $ min _leftIprecedence _rightIprecedence
-                   {-# LINE 3353 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _leftOparentOperatorPrecedence =
-                  ({-# LINE 772 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIprecedence
-                   {-# LINE 3358 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOparentOperatorPrecedence =
-                  ({-# LINE 773 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIprecedence
-                   {-# LINE 3363 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _leftOparentOperatorAssociative =
-                  ({-# LINE 774 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIisAssociative
-                   {-# LINE 3368 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOparentOperatorAssociative =
-                  ({-# LINE 775 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIisAssociative
-                   {-# LINE 3373 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIisAssociative && _leftIisAssociative && _rightIisAssociative
-                   {-# LINE 3378 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 262 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ((\_ _ -> False) _leftIisLiteral _rightIisLiteral)
-                   {-# LINE 3383 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIisMultiline || _leftIisMultiline || _rightIisMultiline
-                   {-# LINE 3388 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   BinOpExpr _opIcopy _leftIcopy _rightIcopy
-                   {-# LINE 3393 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3398 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _rightIcomments
-                   {-# LINE 3403 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _opOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3408 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _opOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3413 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _opOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3418 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _leftOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIcomments
-                   {-# LINE 3423 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _leftOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3428 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _leftOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3433 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _leftOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3438 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _leftIcomments
-                   {-# LINE 3443 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3448 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3453 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3458 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _opIcomments,_opIcopy,_opIisAssociative,_opIisMultiline,_opIprecedence,_opIpretty) =
-                  op_ _opOcomments _opOindent _opOppconf
-              ( _leftIcomments,_leftIcopy,_leftIendsWithPrefixExpression,_leftIisAssociative,_leftIisLiteral,_leftIisMultiline,_leftIpos,_leftIprecedence,_leftIpretty) =
-                  left_ _leftOcomments _leftOforceMultiline _leftOindent _leftOparentOperatorAssociative _leftOparentOperatorPrecedence _leftOppconf
-              ( _rightIcomments,_rightIcopy,_rightIendsWithPrefixExpression,_rightIisAssociative,_rightIisLiteral,_rightIisMultiline,_rightIpos,_rightIprecedence,_rightIpretty) =
-                  right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_Expr_UnOpExpr :: T_UnOp ->
-                     T_MExpr ->
-                     T_Expr
-sem_Expr_UnOpExpr op_ right_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOendsWithPrefixExpression :: Bool
-              _rightOparentOperatorPrecedence :: OperatorLevel
-              _lhsOisAssociative :: Bool
-              _lhsOisLiteral :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Expr
-              _lhsOcomments :: ([MToken])
-              _opOcomments :: ([MToken])
-              _opOindent :: Int
-              _opOppconf :: PrettyPrintConfig
-              _rightOcomments :: ([MToken])
-              _rightOforceMultiline :: Bool
-              _rightOindent :: Int
-              _rightOparentOperatorAssociative :: Bool
-              _rightOppconf :: PrettyPrintConfig
-              _opIcomments :: ([MToken])
-              _opIcopy :: UnOp
-              _opIisMultiline :: Bool
-              _opIpretty :: Doc
-              _rightIcomments :: ([MToken])
-              _rightIcopy :: MExpr
-              _rightIendsWithPrefixExpression :: Bool
-              _rightIisAssociative :: Bool
-              _rightIisLiteral :: Bool
-              _rightIisMultiline :: Bool
-              _rightIpos :: Region
-              _rightIprecedence :: OperatorLevel
-              _rightIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 776 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIpretty <> _rightIpretty
-                   {-# LINE 3511 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 777 "src/GLua/AG/PrettyPrint.ag" #-}
-                   min _rightIprecedence OperatorLevel7
-                   {-# LINE 3516 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 778 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _rightIendsWithPrefixExpression
-                   {-# LINE 3521 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOparentOperatorPrecedence =
-                  ({-# LINE 779 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel7
-                   {-# LINE 3526 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _rightIisAssociative
-                   {-# LINE 3531 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 262 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _rightIisLiteral
-                   {-# LINE 3536 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIisMultiline || _rightIisMultiline
-                   {-# LINE 3541 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   UnOpExpr _opIcopy _rightIcopy
-                   {-# LINE 3546 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3551 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _rightIcomments
-                   {-# LINE 3556 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _opOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3561 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _opOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3566 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _opOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3571 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _opIcomments
-                   {-# LINE 3576 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3581 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3586 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOparentOperatorAssociative =
-                  ({-# LINE 259 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorAssociative
-                   {-# LINE 3591 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _rightOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3596 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _opIcomments,_opIcopy,_opIisMultiline,_opIpretty) =
-                  op_ _opOcomments _opOindent _opOppconf
-              ( _rightIcomments,_rightIcopy,_rightIendsWithPrefixExpression,_rightIisAssociative,_rightIisLiteral,_rightIisMultiline,_rightIpos,_rightIprecedence,_rightIpretty) =
-                  right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
--- ExprSuffixList ----------------------------------------------
--- cata
-sem_ExprSuffixList :: ExprSuffixList ->
-                      T_ExprSuffixList
-sem_ExprSuffixList list =
-    (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))
--- semantic domain
-type T_ExprSuffixList = ([MToken]) ->
-                        Bool ->
-                        Int ->
-                        PrettyPrintConfig ->
-                        ( ([MToken]),ExprSuffixList,Bool,Bool,OperatorLevel,Doc)
-data Inh_ExprSuffixList = Inh_ExprSuffixList {comments_Inh_ExprSuffixList :: ([MToken]),forceMultiline_Inh_ExprSuffixList :: Bool,indent_Inh_ExprSuffixList :: Int,ppconf_Inh_ExprSuffixList :: PrettyPrintConfig}
-data Syn_ExprSuffixList = Syn_ExprSuffixList {comments_Syn_ExprSuffixList :: ([MToken]),copy_Syn_ExprSuffixList :: ExprSuffixList,isAssociative_Syn_ExprSuffixList :: Bool,isMultiline_Syn_ExprSuffixList :: Bool,precedence_Syn_ExprSuffixList :: OperatorLevel,pretty_Syn_ExprSuffixList :: Doc}
-wrap_ExprSuffixList :: T_ExprSuffixList ->
-                       Inh_ExprSuffixList ->
-                       Syn_ExprSuffixList
-wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_ExprSuffixList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty))
-sem_ExprSuffixList_Cons :: T_PFExprSuffix ->
-                           T_ExprSuffixList ->
-                           T_ExprSuffixList
-sem_ExprSuffixList_Cons hd_ tl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: ExprSuffixList
-              _lhsOcomments :: ([MToken])
-              _hdOcomments :: ([MToken])
-              _hdOforceMultiline :: Bool
-              _hdOindent :: Int
-              _hdOppconf :: PrettyPrintConfig
-              _tlOcomments :: ([MToken])
-              _tlOforceMultiline :: Bool
-              _tlOindent :: Int
-              _tlOppconf :: PrettyPrintConfig
-              _hdIcomments :: ([MToken])
-              _hdIcopy :: PFExprSuffix
-              _hdIisAssociative :: Bool
-              _hdIisMultiline :: Bool
-              _hdIprecedence :: OperatorLevel
-              _hdIpretty :: Doc
-              _tlIcomments :: ([MToken])
-              _tlIcopy :: ExprSuffixList
-              _tlIisAssociative :: Bool
-              _tlIisMultiline :: Bool
-              _tlIprecedence :: OperatorLevel
-              _tlIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 526 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIpretty <> _tlIpretty
-                   {-# LINE 3660 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIisAssociative && _tlIisAssociative
-                   {-# LINE 3665 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIisMultiline || _tlIisMultiline
-                   {-# LINE 3670 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (min _hdIprecedence _tlIprecedence)
-                   {-# LINE 3675 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (:) _hdIcopy _tlIcopy
-                   {-# LINE 3680 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3685 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIcomments
-                   {-# LINE 3690 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3695 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3700 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3705 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3710 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcomments
-                   {-# LINE 3715 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3720 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3725 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3730 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _hdIcomments,_hdIcopy,_hdIisAssociative,_hdIisMultiline,_hdIprecedence,_hdIpretty) =
-                  hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
-              ( _tlIcomments,_tlIcopy,_tlIisAssociative,_tlIisMultiline,_tlIprecedence,_tlIpretty) =
-                  tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_ExprSuffixList_Nil :: T_ExprSuffixList
-sem_ExprSuffixList_Nil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: ExprSuffixList
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 527 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 3752 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3757 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3762 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 3767 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   []
-                   {-# LINE 3772 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3777 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3782 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
--- Field -------------------------------------------------------
--- cata
-sem_Field :: Field ->
-             T_Field
-sem_Field (ExprField _key _value _sep) =
-    (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))
-sem_Field (NamedField _key _value _sep) =
-    (sem_Field_NamedField _key (sem_MExpr _value) (sem_FieldSep _sep))
-sem_Field (UnnamedField _value _sep) =
-    (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))
--- semantic domain
-type T_Field = ([MToken]) ->
-               Bool ->
-               Int ->
-               PrettyPrintConfig ->
-               ( Bool,([MToken]),Field,Bool,Bool,Region,Doc)
-data Inh_Field = Inh_Field {comments_Inh_Field :: ([MToken]),forceMultiline_Inh_Field :: Bool,indent_Inh_Field :: Int,ppconf_Inh_Field :: PrettyPrintConfig}
-data Syn_Field = Syn_Field {canFitOnSameLine_Syn_Field :: Bool,comments_Syn_Field :: ([MToken]),copy_Syn_Field :: Field,isMultiline_Syn_Field :: Bool,isSemiColon_Syn_Field :: Bool,pos_Syn_Field :: Region,pretty_Syn_Field :: Doc}
-wrap_Field :: T_Field ->
-              Inh_Field ->
-              Syn_Field
-wrap_Field sem (Inh_Field _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_Field _lhsOcanFitOnSameLine _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpos _lhsOpretty))
-sem_Field_ExprField :: T_MExpr ->
-                       T_MExpr ->
-                       T_FieldSep ->
-                       T_Field
-sem_Field_ExprField key_ value_ sep_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcanFitOnSameLine :: Bool
-              _keyOparentOperatorPrecedence :: OperatorLevel
-              _keyOparentOperatorAssociative :: Bool
-              _valueOparentOperatorPrecedence :: OperatorLevel
-              _valueOparentOperatorAssociative :: Bool
-              _lhsOisSemiColon :: Bool
-              _lhsOcopy :: Field
-              _lhsOcomments :: ([MToken])
-              _lhsOpos :: Region
-              _keyOcomments :: ([MToken])
-              _keyOforceMultiline :: Bool
-              _keyOindent :: Int
-              _keyOppconf :: PrettyPrintConfig
-              _valueOcomments :: ([MToken])
-              _valueOforceMultiline :: Bool
-              _valueOindent :: Int
-              _valueOppconf :: PrettyPrintConfig
-              _sepOindent :: Int
-              _sepOppconf :: PrettyPrintConfig
-              _keyIcomments :: ([MToken])
-              _keyIcopy :: MExpr
-              _keyIendsWithPrefixExpression :: Bool
-              _keyIisAssociative :: Bool
-              _keyIisLiteral :: Bool
-              _keyIisMultiline :: Bool
-              _keyIpos :: Region
-              _keyIprecedence :: OperatorLevel
-              _keyIpretty :: Doc
-              _valueIcomments :: ([MToken])
-              _valueIcopy :: MExpr
-              _valueIendsWithPrefixExpression :: Bool
-              _valueIisAssociative :: Bool
-              _valueIisLiteral :: Bool
-              _valueIisMultiline :: Bool
-              _valueIpos :: Region
-              _valueIprecedence :: OperatorLevel
-              _valueIpretty :: Doc
-              _sepIcanFitOnSameLine :: Bool
-              _sepIcopy :: FieldSep
-              _sepIisMultiline :: Bool
-              _sepIisSemiColon :: Bool
-              _sepIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 800 "src/GLua/AG/PrettyPrint.ag" #-}
-                   brackets _lhsIppconf _keyIpretty <-> zchr '=' <-> _valueIpretty <> _sepIpretty
-                   {-# LINE 3865 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 801 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 3870 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 802 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 3875 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _keyOparentOperatorPrecedence =
-                  ({-# LINE 803 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 3880 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _keyOparentOperatorAssociative =
-                  ({-# LINE 804 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 3885 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOparentOperatorPrecedence =
-                  ({-# LINE 805 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 3890 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOparentOperatorAssociative =
-                  ({-# LINE 806 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 3895 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisSemiColon =
-                  ({-# LINE 296 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _sepIisSemiColon
-                   {-# LINE 3900 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ExprField _keyIcopy _valueIcopy _sepIcopy
-                   {-# LINE 3905 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 3910 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIcomments
-                   {-# LINE 3915 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIpos
-                   {-# LINE 3920 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _keyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 3925 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _keyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3930 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _keyOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3935 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _keyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3940 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _keyIcomments
-                   {-# LINE 3945 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 3950 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3955 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3960 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sepOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 3965 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sepOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 3970 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _keyIcomments,_keyIcopy,_keyIendsWithPrefixExpression,_keyIisAssociative,_keyIisLiteral,_keyIisMultiline,_keyIpos,_keyIprecedence,_keyIpretty) =
-                  key_ _keyOcomments _keyOforceMultiline _keyOindent _keyOparentOperatorAssociative _keyOparentOperatorPrecedence _keyOppconf
-              ( _valueIcomments,_valueIcopy,_valueIendsWithPrefixExpression,_valueIisAssociative,_valueIisLiteral,_valueIisMultiline,_valueIpos,_valueIprecedence,_valueIpretty) =
-                  value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf
-              ( _sepIcanFitOnSameLine,_sepIcopy,_sepIisMultiline,_sepIisSemiColon,_sepIpretty) =
-                  sep_ _sepOindent _sepOppconf
-          in  ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty)))
-sem_Field_NamedField :: MToken ->
-                        T_MExpr ->
-                        T_FieldSep ->
-                        T_Field
-sem_Field_NamedField key_ value_ sep_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcanFitOnSameLine :: Bool
-              _valueOparentOperatorPrecedence :: OperatorLevel
-              _valueOparentOperatorAssociative :: Bool
-              _lhsOisSemiColon :: Bool
-              _lhsOcopy :: Field
-              _lhsOcomments :: ([MToken])
-              _lhsOpos :: Region
-              _valueOcomments :: ([MToken])
-              _valueOforceMultiline :: Bool
-              _valueOindent :: Int
-              _valueOppconf :: PrettyPrintConfig
-              _sepOindent :: Int
-              _sepOppconf :: PrettyPrintConfig
-              _valueIcomments :: ([MToken])
-              _valueIcopy :: MExpr
-              _valueIendsWithPrefixExpression :: Bool
-              _valueIisAssociative :: Bool
-              _valueIisLiteral :: Bool
-              _valueIisMultiline :: Bool
-              _valueIpos :: Region
-              _valueIprecedence :: OperatorLevel
-              _valueIpretty :: Doc
-              _sepIcanFitOnSameLine :: Bool
-              _sepIcopy :: FieldSep
-              _sepIisMultiline :: Bool
-              _sepIisSemiColon :: Bool
-              _sepIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 807 "src/GLua/AG/PrettyPrint.ag" #-}
-                   tok key_ <-> zchr '=' <-> _valueIpretty <> _sepIpretty
-                   {-# LINE 4020 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 808 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4025 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 809 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4030 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOparentOperatorPrecedence =
-                  ({-# LINE 810 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 4035 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOparentOperatorAssociative =
-                  ({-# LINE 811 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4040 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisSemiColon =
-                  ({-# LINE 296 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _sepIisSemiColon
-                   {-# LINE 4045 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   NamedField key_ _valueIcopy _sepIcopy
-                   {-# LINE 4050 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4055 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIcomments
-                   {-# LINE 4060 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIpos
-                   {-# LINE 4065 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 4070 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4075 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4080 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4085 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sepOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4090 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sepOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4095 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _valueIcomments,_valueIcopy,_valueIendsWithPrefixExpression,_valueIisAssociative,_valueIisLiteral,_valueIisMultiline,_valueIpos,_valueIprecedence,_valueIpretty) =
-                  value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf
-              ( _sepIcanFitOnSameLine,_sepIcopy,_sepIisMultiline,_sepIisSemiColon,_sepIpretty) =
-                  sep_ _sepOindent _sepOppconf
-          in  ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty)))
-sem_Field_UnnamedField :: T_MExpr ->
-                          T_FieldSep ->
-                          T_Field
-sem_Field_UnnamedField value_ sep_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOcanFitOnSameLine :: Bool
-              _valueOparentOperatorPrecedence :: OperatorLevel
-              _valueOparentOperatorAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOisSemiColon :: Bool
-              _lhsOcopy :: Field
-              _lhsOcomments :: ([MToken])
-              _lhsOpos :: Region
-              _valueOcomments :: ([MToken])
-              _valueOforceMultiline :: Bool
-              _valueOindent :: Int
-              _valueOppconf :: PrettyPrintConfig
-              _sepOindent :: Int
-              _sepOppconf :: PrettyPrintConfig
-              _valueIcomments :: ([MToken])
-              _valueIcopy :: MExpr
-              _valueIendsWithPrefixExpression :: Bool
-              _valueIisAssociative :: Bool
-              _valueIisLiteral :: Bool
-              _valueIisMultiline :: Bool
-              _valueIpos :: Region
-              _valueIprecedence :: OperatorLevel
-              _valueIpretty :: Doc
-              _sepIcanFitOnSameLine :: Bool
-              _sepIcopy :: FieldSep
-              _sepIisMultiline :: Bool
-              _sepIisSemiColon :: Bool
-              _sepIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 812 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIpretty <> _sepIpretty
-                   {-# LINE 4142 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 813 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _sepIcanFitOnSameLine && not _valueIisMultiline
-                   {-# LINE 4147 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOparentOperatorPrecedence =
-                  ({-# LINE 814 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 4152 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOparentOperatorAssociative =
-                  ({-# LINE 815 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4157 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIisMultiline || _sepIisMultiline
-                   {-# LINE 4162 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisSemiColon =
-                  ({-# LINE 296 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _sepIisSemiColon
-                   {-# LINE 4167 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   UnnamedField _valueIcopy _sepIcopy
-                   {-# LINE 4172 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4177 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIcomments
-                   {-# LINE 4182 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valueIpos
-                   {-# LINE 4187 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 4192 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4197 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4202 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valueOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4207 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sepOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4212 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sepOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4217 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _valueIcomments,_valueIcopy,_valueIendsWithPrefixExpression,_valueIisAssociative,_valueIisLiteral,_valueIisMultiline,_valueIpos,_valueIprecedence,_valueIpretty) =
-                  value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf
-              ( _sepIcanFitOnSameLine,_sepIcopy,_sepIisMultiline,_sepIisSemiColon,_sepIpretty) =
-                  sep_ _sepOindent _sepOppconf
-          in  ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty)))
--- FieldList ---------------------------------------------------
--- cata
-sem_FieldList :: FieldList ->
-                 T_FieldList
-sem_FieldList list =
-    (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))
--- semantic domain
-type T_FieldList = ([MToken]) ->
-                   Bool ->
-                   Int ->
-                   PrettyPrintConfig ->
-                   ( Bool,([MToken]),FieldList,Bool,Bool,Doc)
-data Inh_FieldList = Inh_FieldList {comments_Inh_FieldList :: ([MToken]),forceMultiline_Inh_FieldList :: Bool,indent_Inh_FieldList :: Int,ppconf_Inh_FieldList :: PrettyPrintConfig}
-data Syn_FieldList = Syn_FieldList {canFitOnSameLine_Syn_FieldList :: Bool,comments_Syn_FieldList :: ([MToken]),copy_Syn_FieldList :: FieldList,isMultiline_Syn_FieldList :: Bool,isNil_Syn_FieldList :: Bool,pretty_Syn_FieldList :: Doc}
-wrap_FieldList :: T_FieldList ->
-                  Inh_FieldList ->
-                  Syn_FieldList
-wrap_FieldList sem (Inh_FieldList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisNil,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_FieldList _lhsOcanFitOnSameLine _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisNil _lhsOpretty))
-sem_FieldList_Cons :: T_Field ->
-                      T_FieldList ->
-                      T_FieldList
-sem_FieldList_Cons hd_ tl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOcanFitOnSameLine :: Bool
-              _lhsOisNil :: Bool
-              _hdOcomments :: ([MToken])
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: FieldList
-              _lhsOcomments :: ([MToken])
-              _hdOforceMultiline :: Bool
-              _hdOindent :: Int
-              _hdOppconf :: PrettyPrintConfig
-              _tlOcomments :: ([MToken])
-              _tlOforceMultiline :: Bool
-              _tlOindent :: Int
-              _tlOppconf :: PrettyPrintConfig
-              _hdIcanFitOnSameLine :: Bool
-              _hdIcomments :: ([MToken])
-              _hdIcopy :: Field
-              _hdIisMultiline :: Bool
-              _hdIisSemiColon :: Bool
-              _hdIpos :: Region
-              _hdIpretty :: Doc
-              _tlIcanFitOnSameLine :: Bool
-              _tlIcomments :: ([MToken])
-              _tlIcopy :: FieldList
-              _tlIisMultiline :: Bool
-              _tlIisNil :: Bool
-              _tlIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 423 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _prettyCommentsBefore     $+$ _indentAfterComment     (_hdIpretty <-> _prettyCommentsAfter    ) `_sep    ` _ind     _tlIpretty
-                   {-# LINE 4282 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 424 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcanFitOnSameLine
-                   {-# LINE 4287 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisNil =
-                  ({-# LINE 425 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4292 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOcomments =
-                  ({-# LINE 427 "src/GLua/AG/PrettyPrint.ag" #-}
-                   snd _commentsAfter
-                   {-# LINE 4297 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _sep =
-                  ({-# LINE 429 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _onSameLine     then _optionalSpaceAfterSep     else ($+$)
-                   {-# LINE 4302 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _ind =
-                  ({-# LINE 430 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _onSameLine     then id else indent _lhsIppconf _lhsIindent
-                   {-# LINE 4307 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _onSameLine =
-                  ({-# LINE 431 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (_hdIcanFitOnSameLine && null (fst _commentsAfter    ) && not _isMultiline    ) || _tlIisNil
-                   {-# LINE 4312 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _optionalSpaceAfterSep =
-                  ({-# LINE 433 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if spaceAfterComma _lhsIppconf then (<->) else (<>)
-                   {-# LINE 4317 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indentAfterComment =
-                  ({-# LINE 434 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if null $ fst _commentsBefore     then id else indent _lhsIppconf _lhsIindent
-                   {-# LINE 4322 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _isMultiline =
-                  ({-# LINE 436 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline || _hdIisMultiline || _tlIisMultiline
-                   {-# LINE 4327 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsBefore =
-                  ({-# LINE 438 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderSLComments _lhsIppconf _lhsIindent (fst _commentsBefore    )
-                   {-# LINE 4332 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsAfter =
-                  ({-# LINE 439 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
-                   {-# LINE 4337 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsBefore =
-                  ({-# LINE 440 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then
-                       span (\(MToken pos _) -> pos `before` _hdIpos) _lhsIcomments
-                   else
-                       ([], _lhsIcomments)
-                   {-# LINE 4345 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsAfter =
-                  ({-# LINE 446 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then
-                       span (\(MToken pos _) -> pos `beforeOrOnLine` _hdIpos) (snd _commentsBefore    )
-                   else
-                       _commentsBefore
-                   {-# LINE 4353 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isMultiline
-                   {-# LINE 4358 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (:) _hdIcopy _tlIcopy
-                   {-# LINE 4363 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4368 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIcomments
-                   {-# LINE 4373 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4378 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4383 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4388 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcomments
-                   {-# LINE 4393 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4398 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4403 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4408 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _hdIcanFitOnSameLine,_hdIcomments,_hdIcopy,_hdIisMultiline,_hdIisSemiColon,_hdIpos,_hdIpretty) =
-                  hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
-              ( _tlIcanFitOnSameLine,_tlIcomments,_tlIcopy,_tlIisMultiline,_tlIisNil,_tlIpretty) =
-                  tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf
-          in  ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisNil,_lhsOpretty)))
-sem_FieldList_Nil :: T_FieldList
-sem_FieldList_Nil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisNil :: Bool
-              _lhsOcanFitOnSameLine :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: FieldList
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 451 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 4430 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisNil =
-                  ({-# LINE 452 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4435 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 453 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4440 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4445 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   []
-                   {-# LINE 4450 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4455 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 4460 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcanFitOnSameLine,_lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisNil,_lhsOpretty)))
--- FieldSep ----------------------------------------------------
--- cata
-sem_FieldSep :: FieldSep ->
-                T_FieldSep
-sem_FieldSep (CommaSep) =
-    (sem_FieldSep_CommaSep)
-sem_FieldSep (SemicolonSep) =
-    (sem_FieldSep_SemicolonSep)
-sem_FieldSep (NoSep) =
-    (sem_FieldSep_NoSep)
--- semantic domain
-type T_FieldSep = Int ->
-                  PrettyPrintConfig ->
-                  ( Bool,FieldSep,Bool,Bool,Doc)
-data Inh_FieldSep = Inh_FieldSep {indent_Inh_FieldSep :: Int,ppconf_Inh_FieldSep :: PrettyPrintConfig}
-data Syn_FieldSep = Syn_FieldSep {canFitOnSameLine_Syn_FieldSep :: Bool,copy_Syn_FieldSep :: FieldSep,isMultiline_Syn_FieldSep :: Bool,isSemiColon_Syn_FieldSep :: Bool,pretty_Syn_FieldSep :: Doc}
-wrap_FieldSep :: T_FieldSep ->
-                 Inh_FieldSep ->
-                 Syn_FieldSep
-wrap_FieldSep sem (Inh_FieldSep _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcanFitOnSameLine,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty) = sem _lhsIindent _lhsIppconf
-     in  (Syn_FieldSep _lhsOcanFitOnSameLine _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpretty))
-sem_FieldSep_CommaSep :: T_FieldSep
-sem_FieldSep_CommaSep =
-    (\ _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOcanFitOnSameLine :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOisSemiColon :: Bool
-              _lhsOcopy :: FieldSep
-              _lhsOpretty =
-                  ({-# LINE 818 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ','
-                   {-# LINE 4497 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 819 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4502 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4507 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisSemiColon =
-                  ({-# LINE 296 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4512 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   CommaSep
-                   {-# LINE 4517 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4522 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcanFitOnSameLine,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty)))
-sem_FieldSep_SemicolonSep :: T_FieldSep
-sem_FieldSep_SemicolonSep =
-    (\ _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisSemiColon :: Bool
-              _lhsOcanFitOnSameLine :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: FieldSep
-              _lhsOpretty =
-                  ({-# LINE 820 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ';'
-                   {-# LINE 4537 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisSemiColon =
-                  ({-# LINE 821 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4542 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 824 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4547 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 825 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4552 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   SemicolonSep
-                   {-# LINE 4557 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4562 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcanFitOnSameLine,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty)))
-sem_FieldSep_NoSep :: T_FieldSep
-sem_FieldSep_NoSep =
-    (\ _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOcanFitOnSameLine :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOisSemiColon :: Bool
-              _lhsOcopy :: FieldSep
-              _lhsOpretty =
-                  ({-# LINE 826 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 4577 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcanFitOnSameLine =
-                  ({-# LINE 827 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 4582 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4587 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisSemiColon =
-                  ({-# LINE 296 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4592 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   NoSep
-                   {-# LINE 4597 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4602 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcanFitOnSameLine,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty)))
--- FuncName ----------------------------------------------------
--- cata
-sem_FuncName :: FuncName ->
-                T_FuncName
-sem_FuncName (FuncName _names _meta) =
-    (sem_FuncName_FuncName _names _meta)
--- semantic domain
-type T_FuncName = ([MToken]) ->
-                  Int ->
-                  PrettyPrintConfig ->
-                  ( ([MToken]),FuncName,Bool,Doc)
-data Inh_FuncName = Inh_FuncName {comments_Inh_FuncName :: ([MToken]),indent_Inh_FuncName :: Int,ppconf_Inh_FuncName :: PrettyPrintConfig}
-data Syn_FuncName = Syn_FuncName {comments_Syn_FuncName :: ([MToken]),copy_Syn_FuncName :: FuncName,isMultiline_Syn_FuncName :: Bool,pretty_Syn_FuncName :: Doc}
-wrap_FuncName :: T_FuncName ->
-                 Inh_FuncName ->
-                 Syn_FuncName
-wrap_FuncName sem (Inh_FuncName _lhsIcomments _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf
-     in  (Syn_FuncName _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))
-sem_FuncName_FuncName :: ([MToken]) ->
-                         (Maybe MToken) ->
-                         T_FuncName
-sem_FuncName_FuncName names_ meta_ =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: FuncName
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 673 "src/GLua/AG/PrettyPrint.ag" #-}
-                   printList tok "." names_ <> metaDoc meta_
-                   {-# LINE 4638 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4643 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   FuncName names_ meta_
-                   {-# LINE 4648 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4653 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 4658 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
--- MElse -------------------------------------------------------
--- cata
-sem_MElse :: MElse ->
-             T_MElse
-sem_MElse (MElse _pos _body) =
-    (sem_MElse_MElse _pos (sem_Block _body))
--- semantic domain
-type T_MElse = ([MToken]) ->
-               Bool ->
-               Int ->
-               PrettyPrintConfig ->
-               Region ->
-               ( ([MToken]),MElse,Bool,Bool,Region,Doc)
-data Inh_MElse = Inh_MElse {comments_Inh_MElse :: ([MToken]),forceMultiline_Inh_MElse :: Bool,indent_Inh_MElse :: Int,ppconf_Inh_MElse :: PrettyPrintConfig,statRegion_Inh_MElse :: Region}
-data Syn_MElse = Syn_MElse {comments_Syn_MElse :: ([MToken]),copy_Syn_MElse :: MElse,elsesExist_Syn_MElse :: Bool,isMultiline_Syn_MElse :: Bool,pos_Syn_MElse :: Region,pretty_Syn_MElse :: Doc}
-wrap_MElse :: T_MElse ->
-              Inh_MElse ->
-              Syn_MElse
-wrap_MElse sem (Inh_MElse _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
-     in  (Syn_MElse _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty))
-sem_MElse_MElse :: Region ->
-                   T_Block ->
-                   T_MElse
-sem_MElse_MElse pos_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _bodyOindent :: Int
-              _lhsOpos :: Region
-              _bodyOcomments :: ([MToken])
-              _lhsOelsesExist :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: MElse
-              _lhsOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOpretty =
-                  ({-# LINE 518 "src/GLua/AG/PrettyPrint.ag" #-}
-                   indent _lhsIppconf _lhsIindent (zeroWidthText "else") <-> _prettyCommentsAfter     $+$ _bodyIpretty
-                   {-# LINE 4711 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 519 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 4716 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsAfter =
-                  ({-# LINE 520 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
-                   {-# LINE 4721 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsAfter =
-                  ({-# LINE 521 "src/GLua/AG/PrettyPrint.ag" #-}
-                   span (\(MToken pos _) -> pos `beforeOrOnLine` pos_) _lhsIcomments
-                   {-# LINE 4726 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 522 "src/GLua/AG/PrettyPrint.ag" #-}
-                   pos_
-                   {-# LINE 4731 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 523 "src/GLua/AG/PrettyPrint.ag" #-}
-                   snd _commentsAfter
-                   {-# LINE 4736 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOelsesExist =
-                  ({-# LINE 309 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 4741 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIisMultiline
-                   {-# LINE 4746 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   MElse pos_ _bodyIcopy
-                   {-# LINE 4751 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4756 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 4761 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4766 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4771 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 4776 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))
--- MElseIf -----------------------------------------------------
--- cata
-sem_MElseIf :: MElseIf ->
-               T_MElseIf
-sem_MElseIf (MElseIf _pos _elif) =
-    (sem_MElseIf_MElseIf _pos (sem_ElseIf _elif))
--- semantic domain
-type T_MElseIf = ([MToken]) ->
-                 Bool ->
-                 Int ->
-                 PrettyPrintConfig ->
-                 ( ([MToken]),MElseIf,Bool,Region,Doc)
-data Inh_MElseIf = Inh_MElseIf {comments_Inh_MElseIf :: ([MToken]),forceMultiline_Inh_MElseIf :: Bool,indent_Inh_MElseIf :: Int,ppconf_Inh_MElseIf :: PrettyPrintConfig}
-data Syn_MElseIf = Syn_MElseIf {comments_Syn_MElseIf :: ([MToken]),copy_Syn_MElseIf :: MElseIf,isMultiline_Syn_MElseIf :: Bool,pos_Syn_MElseIf :: Region,pretty_Syn_MElseIf :: Doc}
-wrap_MElseIf :: T_MElseIf ->
-                Inh_MElseIf ->
-                Syn_MElseIf
-wrap_MElseIf sem (Inh_MElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_MElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty))
-sem_MElseIf_MElseIf :: Region ->
-                       T_ElseIf ->
-                       T_MElseIf
-sem_MElseIf_MElseIf pos_ elif_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpos :: Region
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: MElseIf
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty :: Doc
-              _elifOcomments :: ([MToken])
-              _elifOforceMultiline :: Bool
-              _elifOindent :: Int
-              _elifOppconf :: PrettyPrintConfig
-              _elifIcomments :: ([MToken])
-              _elifIcopy :: ElseIf
-              _elifIisMultiline :: Bool
-              _elifIpretty :: Doc
-              _lhsOpos =
-                  ({-# LINE 503 "src/GLua/AG/PrettyPrint.ag" #-}
-                   pos_
-                   {-# LINE 4825 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _elifIisMultiline
-                   {-# LINE 4830 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   MElseIf pos_ _elifIcopy
-                   {-# LINE 4835 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4840 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _elifIcomments
-                   {-# LINE 4845 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 248 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _elifIpretty
-                   {-# LINE 4850 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 4855 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4860 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4865 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 4870 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _elifIcomments,_elifIcopy,_elifIisMultiline,_elifIpretty) =
-                  elif_ _elifOcomments _elifOforceMultiline _elifOindent _elifOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))
--- MExpr -------------------------------------------------------
--- cata
-sem_MExpr :: MExpr ->
-             T_MExpr
-sem_MExpr (MExpr _pos _expr) =
-    (sem_MExpr_MExpr _pos (sem_Expr _expr))
--- semantic domain
-type T_MExpr = ([MToken]) ->
-               Bool ->
-               Int ->
-               Bool ->
-               OperatorLevel ->
-               PrettyPrintConfig ->
-               ( ([MToken]),MExpr,Bool,Bool,Bool,Bool,Region,OperatorLevel,Doc)
-data Inh_MExpr = Inh_MExpr {comments_Inh_MExpr :: ([MToken]),forceMultiline_Inh_MExpr :: Bool,indent_Inh_MExpr :: Int,parentOperatorAssociative_Inh_MExpr :: Bool,parentOperatorPrecedence_Inh_MExpr :: OperatorLevel,ppconf_Inh_MExpr :: PrettyPrintConfig}
-data Syn_MExpr = Syn_MExpr {comments_Syn_MExpr :: ([MToken]),copy_Syn_MExpr :: MExpr,endsWithPrefixExpression_Syn_MExpr :: Bool,isAssociative_Syn_MExpr :: Bool,isLiteral_Syn_MExpr :: Bool,isMultiline_Syn_MExpr :: Bool,pos_Syn_MExpr :: Region,precedence_Syn_MExpr :: OperatorLevel,pretty_Syn_MExpr :: Doc}
-wrap_MExpr :: T_MExpr ->
-              Inh_MExpr ->
-              Syn_MExpr
-wrap_MExpr sem (Inh_MExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf
-     in  (Syn_MExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty))
-sem_MExpr_MExpr :: Region ->
-                   T_Expr ->
-                   T_MExpr
-sem_MExpr_MExpr pos_ expr_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf ->
-         (let _lhsOpos :: Region
-              _lhsOendsWithPrefixExpression :: Bool
-              _exprOstatRegion :: Region
-              _lhsOisAssociative :: Bool
-              _lhsOisLiteral :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: MExpr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty :: Doc
-              _exprOcomments :: ([MToken])
-              _exprOforceMultiline :: Bool
-              _exprOindent :: Int
-              _exprOparentOperatorAssociative :: Bool
-              _exprOparentOperatorPrecedence :: OperatorLevel
-              _exprOppconf :: PrettyPrintConfig
-              _exprIcomments :: ([MToken])
-              _exprIcopy :: Expr
-              _exprIendsWithPrefixExpression :: Bool
-              _exprIisAssociative :: Bool
-              _exprIisLiteral :: Bool
-              _exprIisMultiline :: Bool
-              _exprIprecedence :: OperatorLevel
-              _exprIpretty :: Doc
-              _lhsOpos =
-                  ({-# LINE 725 "src/GLua/AG/PrettyPrint.ag" #-}
-                   pos_
-                   {-# LINE 4934 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 726 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIendsWithPrefixExpression
-                   {-# LINE 4939 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOstatRegion =
-                  ({-# LINE 727 "src/GLua/AG/PrettyPrint.ag" #-}
-                   pos_
-                   {-# LINE 4944 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIisAssociative
-                   {-# LINE 4949 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 262 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIisLiteral
-                   {-# LINE 4954 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIisMultiline
-                   {-# LINE 4959 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIprecedence
-                   {-# LINE 4964 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   MExpr pos_ _exprIcopy
-                   {-# LINE 4969 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 4974 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIcomments
-                   {-# LINE 4979 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 248 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIpretty
-                   {-# LINE 4984 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 4989 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 4994 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 4999 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOparentOperatorAssociative =
-                  ({-# LINE 259 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorAssociative
-                   {-# LINE 5004 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOparentOperatorPrecedence =
-                  ({-# LINE 258 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorPrecedence
-                   {-# LINE 5009 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5014 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _exprIcomments,_exprIcopy,_exprIendsWithPrefixExpression,_exprIisAssociative,_exprIisLiteral,_exprIisMultiline,_exprIprecedence,_exprIpretty) =
-                  expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf _exprOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty)))
--- MExprList ---------------------------------------------------
--- cata
-sem_MExprList :: MExprList ->
-                 T_MExprList
-sem_MExprList list =
-    (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))
--- semantic domain
-type T_MExprList = ([MToken]) ->
-                   Bool ->
-                   Int ->
-                   Bool ->
-                   PrettyPrintConfig ->
-                   ( ([MToken]),MExprList,Bool,Bool,Region,OperatorLevel,Doc)
-data Inh_MExprList = Inh_MExprList {comments_Inh_MExprList :: ([MToken]),forceMultiline_Inh_MExprList :: Bool,indent_Inh_MExprList :: Int,isHead_Inh_MExprList :: Bool,ppconf_Inh_MExprList :: PrettyPrintConfig}
-data Syn_MExprList = Syn_MExprList {comments_Syn_MExprList :: ([MToken]),copy_Syn_MExprList :: MExprList,isAssociative_Syn_MExprList :: Bool,isMultiline_Syn_MExprList :: Bool,pos_Syn_MExprList :: Region,precedence_Syn_MExprList :: OperatorLevel,pretty_Syn_MExprList :: Doc}
-wrap_MExprList :: T_MExprList ->
-                  Inh_MExprList ->
-                  Syn_MExprList
-wrap_MExprList sem (Inh_MExprList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisHead _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisHead _lhsIppconf
-     in  (Syn_MExprList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty))
-sem_MExprList_Cons :: T_MExpr ->
-                      T_MExprList ->
-                      T_MExprList
-sem_MExprList_Cons hd_ tl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisHead
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _tlOisHead :: Bool
-              _lhsOpos :: Region
-              _hdOparentOperatorPrecedence :: OperatorLevel
-              _hdOparentOperatorAssociative :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: MExprList
-              _lhsOcomments :: ([MToken])
-              _hdOcomments :: ([MToken])
-              _hdOforceMultiline :: Bool
-              _hdOindent :: Int
-              _hdOppconf :: PrettyPrintConfig
-              _tlOcomments :: ([MToken])
-              _tlOforceMultiline :: Bool
-              _tlOindent :: Int
-              _tlOppconf :: PrettyPrintConfig
-              _hdIcomments :: ([MToken])
-              _hdIcopy :: MExpr
-              _hdIendsWithPrefixExpression :: Bool
-              _hdIisAssociative :: Bool
-              _hdIisLiteral :: Bool
-              _hdIisMultiline :: Bool
-              _hdIpos :: Region
-              _hdIprecedence :: OperatorLevel
-              _hdIpretty :: Doc
-              _tlIcomments :: ([MToken])
-              _tlIcopy :: MExprList
-              _tlIisAssociative :: Bool
-              _tlIisMultiline :: Bool
-              _tlIpos :: Region
-              _tlIprecedence :: OperatorLevel
-              _tlIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 398 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _lhsIisHead then
-                       _hdIpretty <> _tlIpretty
-                   else
-                       if _isMultiline     then _prettyMultiLine     else _prettySingleLine
-                   {-# LINE 5089 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettySingleLine =
-                  ({-# LINE 403 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _comma     <>
-                   (if spaceAfterComma _lhsIppconf then zchr ' ' else empty) <>
-                   _hdIpretty <>
-                   _tlIpretty
-                   {-# LINE 5097 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyMultiLine =
-                  ({-# LINE 408 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _comma     $+$
-                   indent _lhsIppconf _lhsIindent _hdIpretty <>
-                   _tlIpretty
-                   {-# LINE 5104 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 412 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ','
-                   {-# LINE 5109 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOisHead =
-                  ({-# LINE 414 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5114 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 415 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIpos
-                   {-# LINE 5119 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOparentOperatorPrecedence =
-                  ({-# LINE 416 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 5124 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOparentOperatorAssociative =
-                  ({-# LINE 417 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 5129 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _isMultiline =
-                  ({-# LINE 418 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline || _hdIisMultiline || _tlIisMultiline
-                   {-# LINE 5134 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIisAssociative && _tlIisAssociative
-                   {-# LINE 5139 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isMultiline
-                   {-# LINE 5144 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (min _hdIprecedence _tlIprecedence)
-                   {-# LINE 5149 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (:) _hdIcopy _tlIcopy
-                   {-# LINE 5154 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5159 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIcomments
-                   {-# LINE 5164 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 5169 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 5174 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5179 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5184 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcomments
-                   {-# LINE 5189 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 5194 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5199 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5204 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _hdIcomments,_hdIcopy,_hdIendsWithPrefixExpression,_hdIisAssociative,_hdIisLiteral,_hdIisMultiline,_hdIpos,_hdIprecedence,_hdIpretty) =
-                  hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOparentOperatorAssociative _hdOparentOperatorPrecedence _hdOppconf
-              ( _tlIcomments,_tlIcopy,_tlIisAssociative,_tlIisMultiline,_tlIpos,_tlIprecedence,_tlIpretty) =
-                  tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOisHead _tlOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty)))
-sem_MExprList_Nil :: T_MExprList
-sem_MExprList_Nil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisHead
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOpos :: Region
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: MExprList
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 419 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 5228 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpos =
-                  ({-# LINE 420 "src/GLua/AG/PrettyPrint.ag" #-}
-                   emptyRg
-                   {-# LINE 5233 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5238 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5243 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 5248 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   []
-                   {-# LINE 5253 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5258 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 5263 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty)))
--- MStat -------------------------------------------------------
--- cata
-sem_MStat :: MStat ->
-             T_MStat
-sem_MStat (MStat _pos _stat) =
-    (sem_MStat_MStat _pos (sem_Stat _stat))
--- semantic domain
-type T_MStat = ([MToken]) ->
-               Bool ->
-               Int ->
-               Bool ->
-               PrettyPrintConfig ->
-               Bool ->
-               ( ([MToken]),MStat,Bool,Bool,Bool,Region,Doc,Bool,Int)
-data Inh_MStat = Inh_MStat {comments_Inh_MStat :: ([MToken]),forceMultiline_Inh_MStat :: Bool,indent_Inh_MStat :: Int,isLastStatement_Inh_MStat :: Bool,ppconf_Inh_MStat :: PrettyPrintConfig,wouldBeAmbiguousWithoutSemicolon_Inh_MStat :: Bool}
-data Syn_MStat = Syn_MStat {comments_Syn_MStat :: ([MToken]),copy_Syn_MStat :: MStat,endsWithPrefixExpression_Syn_MStat :: Bool,hasBreaking_Syn_MStat :: Bool,isMultiline_Syn_MStat :: Bool,pos_Syn_MStat :: Region,pretty_Syn_MStat :: Doc,startsWithExprPrefixExpression_Syn_MStat :: Bool,statementCount_Syn_MStat :: Int}
-wrap_MStat :: T_MStat ->
-              Inh_MStat ->
-              Syn_MStat
-wrap_MStat sem (Inh_MStat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpos,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon
-     in  (Syn_MStat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOhasBreaking _lhsOisMultiline _lhsOpos _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount))
-sem_MStat_MStat :: Region ->
-                   T_Stat ->
-                   T_MStat
-sem_MStat_MStat pos_ stat_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpos :: Region
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _statOstatRegion :: Region
-              _statOwouldBeAmbiguousWithoutSemicolon :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOstatementCount :: Int
-              _lhsOcopy :: MStat
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty :: Doc
-              _statOcomments :: ([MToken])
-              _statOforceMultiline :: Bool
-              _statOindent :: Int
-              _statOisLastStatement :: Bool
-              _statOppconf :: PrettyPrintConfig
-              _statIcomments :: ([MToken])
-              _statIcopy :: Stat
-              _statIendsWithPrefixExpression :: Bool
-              _statIhasBreaking :: Bool
-              _statIisMultiline :: Bool
-              _statIpretty :: Doc
-              _statIstartsWithExprPrefixExpression :: Bool
-              _lhsOpos =
-                  ({-# LINE 391 "src/GLua/AG/PrettyPrint.ag" #-}
-                   pos_
-                   {-# LINE 5324 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 392 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statIstartsWithExprPrefixExpression
-                   {-# LINE 5329 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 393 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statIendsWithPrefixExpression
-                   {-# LINE 5334 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOstatRegion =
-                  ({-# LINE 394 "src/GLua/AG/PrettyPrint.ag" #-}
-                   pos_
-                   {-# LINE 5339 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOwouldBeAmbiguousWithoutSemicolon =
-                  ({-# LINE 395 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIwouldBeAmbiguousWithoutSemicolon
-                   {-# LINE 5344 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statIhasBreaking
-                   {-# LINE 5349 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statIisMultiline
-                   {-# LINE 5354 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstatementCount =
-                  ({-# LINE 303 "src/GLua/AG/PrettyPrint.ag" #-}
-                   1
-                   {-# LINE 5359 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   MStat pos_ _statIcopy
-                   {-# LINE 5364 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5369 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statIcomments
-                   {-# LINE 5374 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 248 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _statIpretty
-                   {-# LINE 5379 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 5384 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 5389 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5394 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOisLastStatement =
-                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIisLastStatement
-                   {-# LINE 5399 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _statOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5404 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _statIcomments,_statIcopy,_statIendsWithPrefixExpression,_statIhasBreaking,_statIisMultiline,_statIpretty,_statIstartsWithExprPrefixExpression) =
-                  stat_ _statOcomments _statOforceMultiline _statOindent _statOisLastStatement _statOppconf _statOstatRegion _statOwouldBeAmbiguousWithoutSemicolon
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpos,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount)))
--- MStatList ---------------------------------------------------
--- cata
-sem_MStatList :: MStatList ->
-                 T_MStatList
-sem_MStatList list =
-    (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))
--- semantic domain
-type T_MStatList = ([MToken]) ->
-                   Bool ->
-                   Int ->
-                   Bool ->
-                   PrettyPrintConfig ->
-                   Region ->
-                   ( ([MToken]),MStatList,Bool,Bool,Bool,Doc,Bool,Int)
-data Inh_MStatList = Inh_MStatList {comments_Inh_MStatList :: ([MToken]),forceMultiline_Inh_MStatList :: Bool,indent_Inh_MStatList :: Int,isHead_Inh_MStatList :: Bool,ppconf_Inh_MStatList :: PrettyPrintConfig,statRegion_Inh_MStatList :: Region}
-data Syn_MStatList = Syn_MStatList {comments_Syn_MStatList :: ([MToken]),copy_Syn_MStatList :: MStatList,hasBreaking_Syn_MStatList :: Bool,isLast_Syn_MStatList :: Bool,isMultiline_Syn_MStatList :: Bool,pretty_Syn_MStatList :: Doc,startsWithExprPrefixExpression_Syn_MStatList :: Bool,statementCount_Syn_MStatList :: Int}
-wrap_MStatList :: T_MStatList ->
-                  Inh_MStatList ->
-                  Syn_MStatList
-wrap_MStatList sem (Inh_MStatList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisHead _lhsIppconf _lhsIstatRegion) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisHead _lhsIppconf _lhsIstatRegion
-     in  (Syn_MStatList _lhsOcomments _lhsOcopy _lhsOhasBreaking _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount))
-sem_MStatList_Cons :: T_MStat ->
-                      T_MStatList ->
-                      T_MStatList
-sem_MStatList_Cons hd_ tl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisHead
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _hdOcomments :: ([MToken])
-              _tlOcomments :: ([MToken])
-              _tlOisHead :: Bool
-              _hdOisLastStatement :: Bool
-              _hdOwouldBeAmbiguousWithoutSemicolon :: Bool
-              _hdOforceMultiline :: Bool
-              _lhsOisLast :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOstatementCount :: Int
-              _lhsOcopy :: MStatList
-              _lhsOcomments :: ([MToken])
-              _hdOindent :: Int
-              _hdOppconf :: PrettyPrintConfig
-              _tlOforceMultiline :: Bool
-              _tlOindent :: Int
-              _tlOppconf :: PrettyPrintConfig
-              _tlOstatRegion :: Region
-              _hdIcomments :: ([MToken])
-              _hdIcopy :: MStat
-              _hdIendsWithPrefixExpression :: Bool
-              _hdIhasBreaking :: Bool
-              _hdIisMultiline :: Bool
-              _hdIpos :: Region
-              _hdIpretty :: Doc
-              _hdIstartsWithExprPrefixExpression :: Bool
-              _hdIstatementCount :: Int
-              _tlIcomments :: ([MToken])
-              _tlIcopy :: MStatList
-              _tlIhasBreaking :: Bool
-              _tlIisLast :: Bool
-              _tlIisMultiline :: Bool
-              _tlIpretty :: Doc
-              _tlIstartsWithExprPrefixExpression :: Bool
-              _tlIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 348 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIisMultiline
-                   {-# LINE 5481 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _addNewline =
-                  ({-# LINE 349 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if not _tlIisLast && (_hdIisMultiline || _tlIisMultiline) then zchr '\n' else empty
-                   {-# LINE 5486 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 350 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _prettyCommentsBefore
-                   $+$ indent _lhsIppconf _lhsIindent _hdIpretty
-                   <-> _prettyCommentsAfter     <> _addNewline
-                   $+$ _tlIpretty
-                   {-# LINE 5494 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 355 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIstartsWithExprPrefixExpression
-                   {-# LINE 5499 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsBefore =
-                  ({-# LINE 357 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore    )
-                   {-# LINE 5504 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _prettyCommentsAfter =
-                  ({-# LINE 358 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
-                   {-# LINE 5509 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsBefore =
-                  ({-# LINE 359 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _hdIisMultiline
-                   then span (\(MToken pos' _) -> pos' `beforeOrOnLine` _hdIpos) _lhsIcomments
-                   else _commentsBeforeLine
-                   {-# LINE 5516 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsAfter =
-                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _hdIisMultiline
-                   then span (\(MToken pos' _) -> pos' `beforeOrOnLine` _hdIpos) (snd _commentsBefore    )
-                   else span (\(MToken pos' _) -> pos' `beforeEndLine`  _hdIpos) (snd _commentsBefore    )
-                   {-# LINE 5523 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsBeforeLine =
-                  ({-# LINE 367 "src/GLua/AG/PrettyPrint.ag" #-}
-                   span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments
-                   {-# LINE 5528 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOcomments =
-                  ({-# LINE 368 "src/GLua/AG/PrettyPrint.ag" #-}
-                   snd _commentsAfter
-                   {-# LINE 5533 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOcomments =
-                  ({-# LINE 369 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcomments
-                   {-# LINE 5538 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOisHead =
-                  ({-# LINE 371 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5543 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOisLastStatement =
-                  ({-# LINE 372 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIisLast
-                   {-# LINE 5548 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOwouldBeAmbiguousWithoutSemicolon =
-                  ({-# LINE 377 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIendsWithPrefixExpression && _tlIstartsWithExprPrefixExpression
-                   {-# LINE 5553 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOforceMultiline =
-                  ({-# LINE 379 "src/GLua/AG/PrettyPrint.ag" #-}
-                   commentsForceMultiline $ fst _commentsBeforeLine
-                   {-# LINE 5558 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLast =
-                  ({-# LINE 380 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5563 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIhasBreaking || _tlIhasBreaking
-                   {-# LINE 5568 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstatementCount =
-                  ({-# LINE 303 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIstatementCount + _tlIstatementCount
-                   {-# LINE 5573 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (:) _hdIcopy _tlIcopy
-                   {-# LINE 5578 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5583 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIcomments
-                   {-# LINE 5588 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5593 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5598 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 5603 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5608 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5613 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 5618 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _hdIcomments,_hdIcopy,_hdIendsWithPrefixExpression,_hdIhasBreaking,_hdIisMultiline,_hdIpos,_hdIpretty,_hdIstartsWithExprPrefixExpression,_hdIstatementCount) =
-                  hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOisLastStatement _hdOppconf _hdOwouldBeAmbiguousWithoutSemicolon
-              ( _tlIcomments,_tlIcopy,_tlIhasBreaking,_tlIisLast,_tlIisMultiline,_tlIpretty,_tlIstartsWithExprPrefixExpression,_tlIstatementCount) =
-                  tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOisHead _tlOppconf _tlOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount)))
-sem_MStatList_Nil :: T_MStatList
-sem_MStatList_Nil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisHead
-       _lhsIppconf
-       _lhsIstatRegion ->
-         (let _lhsOpretty :: Doc
-              _lhsOstatementCount :: Int
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOcomments :: ([MToken])
-              _lhsOhasBreaking :: Bool
-              _lhsOisLast :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: MStatList
-              _lhsOpretty =
-                  ({-# LINE 381 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _renderedComments
-                   {-# LINE 5644 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstatementCount =
-                  ({-# LINE 382 "src/GLua/AG/PrettyPrint.ag" #-}
-                   0
-                   {-# LINE 5649 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 383 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5654 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _renderedComments =
-                  ({-# LINE 384 "src/GLua/AG/PrettyPrint.ag" #-}
-                   renderMLComments _lhsIppconf _lhsIindent $ fst _commentsBeforeEnd
-                   {-# LINE 5659 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _commentsBeforeEnd =
-                  ({-# LINE 387 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _lhsIisHead then ([], _lhsIcomments) else span (\(MToken pos' _tok) -> pos' `beforeEnd` _lhsIstatRegion) _lhsIcomments
-                   {-# LINE 5664 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 388 "src/GLua/AG/PrettyPrint.ag" #-}
-                   snd _commentsBeforeEnd
-                   {-# LINE 5669 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5674 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLast =
-                  ({-# LINE 281 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 5679 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5684 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   []
-                   {-# LINE 5689 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5694 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOhasBreaking,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount)))
--- MaybeMExpr --------------------------------------------------
--- cata
-sem_MaybeMExpr :: MaybeMExpr ->
-                  T_MaybeMExpr
-sem_MaybeMExpr (Prelude.Just x) =
-    (sem_MaybeMExpr_Just (sem_MExpr x))
-sem_MaybeMExpr Prelude.Nothing =
-    sem_MaybeMExpr_Nothing
--- semantic domain
-type T_MaybeMExpr = ([MToken]) ->
-                    Bool ->
-                    Int ->
-                    PrettyPrintConfig ->
-                    ( ([MToken]),MaybeMExpr,Bool,Bool,Bool,Bool,OperatorLevel,Doc)
-data Inh_MaybeMExpr = Inh_MaybeMExpr {comments_Inh_MaybeMExpr :: ([MToken]),forceMultiline_Inh_MaybeMExpr :: Bool,indent_Inh_MaybeMExpr :: Int,ppconf_Inh_MaybeMExpr :: PrettyPrintConfig}
-data Syn_MaybeMExpr = Syn_MaybeMExpr {comments_Syn_MaybeMExpr :: ([MToken]),copy_Syn_MaybeMExpr :: MaybeMExpr,endsWithPrefixExpression_Syn_MaybeMExpr :: Bool,isAssociative_Syn_MaybeMExpr :: Bool,isDefined_Syn_MaybeMExpr :: Bool,isMultiline_Syn_MaybeMExpr :: Bool,precedence_Syn_MaybeMExpr :: OperatorLevel,pretty_Syn_MaybeMExpr :: Doc}
-wrap_MaybeMExpr :: T_MaybeMExpr ->
-                   Inh_MaybeMExpr ->
-                   Syn_MaybeMExpr
-wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisDefined,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_MaybeMExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisDefined _lhsOisMultiline _lhsOprecedence _lhsOpretty))
-sem_MaybeMExpr_Just :: T_MExpr ->
-                       T_MaybeMExpr
-sem_MaybeMExpr_Just just_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisDefined :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _justOparentOperatorPrecedence :: OperatorLevel
-              _justOparentOperatorAssociative :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: MaybeMExpr
-              _lhsOcomments :: ([MToken])
-              _justOcomments :: ([MToken])
-              _justOforceMultiline :: Bool
-              _justOindent :: Int
-              _justOppconf :: PrettyPrintConfig
-              _justIcomments :: ([MToken])
-              _justIcopy :: MExpr
-              _justIendsWithPrefixExpression :: Bool
-              _justIisAssociative :: Bool
-              _justIisLiteral :: Bool
-              _justIisMultiline :: Bool
-              _justIpos :: Region
-              _justIprecedence :: OperatorLevel
-              _justIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 457 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIpretty
-                   {-# LINE 5752 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisDefined =
-                  ({-# LINE 458 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 5757 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 459 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIendsWithPrefixExpression
-                   {-# LINE 5762 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOparentOperatorPrecedence =
-                  ({-# LINE 460 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 5767 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOparentOperatorAssociative =
-                  ({-# LINE 461 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 5772 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIisAssociative
-                   {-# LINE 5777 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIisMultiline
-                   {-# LINE 5782 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIprecedence
-                   {-# LINE 5787 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Just _justIcopy
-                   {-# LINE 5792 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5797 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _justIcomments
-                   {-# LINE 5802 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 5807 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 5812 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5817 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _justOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5822 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _justIcomments,_justIcopy,_justIendsWithPrefixExpression,_justIisAssociative,_justIisLiteral,_justIisMultiline,_justIpos,_justIprecedence,_justIpretty) =
-                  just_ _justOcomments _justOforceMultiline _justOindent _justOparentOperatorAssociative _justOparentOperatorPrecedence _justOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisDefined,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_MaybeMExpr_Nothing :: T_MaybeMExpr
-sem_MaybeMExpr_Nothing =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisDefined :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: MaybeMExpr
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 463 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 5844 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisDefined =
-                  ({-# LINE 464 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5849 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 465 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5854 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5859 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5864 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 5869 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Nothing
-                   {-# LINE 5874 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5879 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 5884 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisDefined,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
--- PFExprSuffix ------------------------------------------------
--- cata
-sem_PFExprSuffix :: PFExprSuffix ->
-                    T_PFExprSuffix
-sem_PFExprSuffix (Call _args) =
-    (sem_PFExprSuffix_Call (sem_Args _args))
-sem_PFExprSuffix (MetaCall _fn _args) =
-    (sem_PFExprSuffix_MetaCall _fn (sem_Args _args))
-sem_PFExprSuffix (ExprIndex _index) =
-    (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))
-sem_PFExprSuffix (DotIndex _index) =
-    (sem_PFExprSuffix_DotIndex _index)
--- semantic domain
-type T_PFExprSuffix = ([MToken]) ->
-                      Bool ->
-                      Int ->
-                      PrettyPrintConfig ->
-                      ( ([MToken]),PFExprSuffix,Bool,Bool,OperatorLevel,Doc)
-data Inh_PFExprSuffix = Inh_PFExprSuffix {comments_Inh_PFExprSuffix :: ([MToken]),forceMultiline_Inh_PFExprSuffix :: Bool,indent_Inh_PFExprSuffix :: Int,ppconf_Inh_PFExprSuffix :: PrettyPrintConfig}
-data Syn_PFExprSuffix = Syn_PFExprSuffix {comments_Syn_PFExprSuffix :: ([MToken]),copy_Syn_PFExprSuffix :: PFExprSuffix,isAssociative_Syn_PFExprSuffix :: Bool,isMultiline_Syn_PFExprSuffix :: Bool,precedence_Syn_PFExprSuffix :: OperatorLevel,pretty_Syn_PFExprSuffix :: Doc}
-wrap_PFExprSuffix :: T_PFExprSuffix ->
-                     Inh_PFExprSuffix ->
-                     Syn_PFExprSuffix
-wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
-     in  (Syn_PFExprSuffix _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty))
-sem_PFExprSuffix_Call :: T_Args ->
-                         T_PFExprSuffix
-sem_PFExprSuffix_Call args_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: PFExprSuffix
-              _lhsOcomments :: ([MToken])
-              _argsOcomments :: ([MToken])
-              _argsOforceMultiline :: Bool
-              _argsOindent :: Int
-              _argsOppconf :: PrettyPrintConfig
-              _argsIcomments :: ([MToken])
-              _argsIcopy :: Args
-              _argsIisMultiline :: Bool
-              _argsIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 717 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIpretty
-                   {-# LINE 5937 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 5942 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIisMultiline
-                   {-# LINE 5947 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 5952 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Call _argsIcopy
-                   {-# LINE 5957 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 5962 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIcomments
-                   {-# LINE 5967 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 5972 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 5977 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 5982 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 5987 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _argsIcomments,_argsIcopy,_argsIisMultiline,_argsIpretty) =
-                  args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_PFExprSuffix_MetaCall :: MToken ->
-                             T_Args ->
-                             T_PFExprSuffix
-sem_PFExprSuffix_MetaCall fn_ args_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: PFExprSuffix
-              _lhsOcomments :: ([MToken])
-              _argsOcomments :: ([MToken])
-              _argsOforceMultiline :: Bool
-              _argsOindent :: Int
-              _argsOppconf :: PrettyPrintConfig
-              _argsIcomments :: ([MToken])
-              _argsIcopy :: Args
-              _argsIisMultiline :: Bool
-              _argsIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 718 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zchr ':' <> tok fn_ <> _argsIpretty
-                   {-# LINE 6017 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6022 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIisMultiline
-                   {-# LINE 6027 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 6032 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   MetaCall fn_ _argsIcopy
-                   {-# LINE 6037 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6042 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _argsIcomments
-                   {-# LINE 6047 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6052 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6057 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6062 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _argsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6067 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _argsIcomments,_argsIcopy,_argsIisMultiline,_argsIpretty) =
-                  args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_PFExprSuffix_ExprIndex :: T_MExpr ->
-                              T_PFExprSuffix
-sem_PFExprSuffix_ExprIndex index_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _indexOparentOperatorPrecedence :: OperatorLevel
-              _indexOparentOperatorAssociative :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: PFExprSuffix
-              _lhsOcomments :: ([MToken])
-              _indexOcomments :: ([MToken])
-              _indexOforceMultiline :: Bool
-              _indexOindent :: Int
-              _indexOppconf :: PrettyPrintConfig
-              _indexIcomments :: ([MToken])
-              _indexIcopy :: MExpr
-              _indexIendsWithPrefixExpression :: Bool
-              _indexIisAssociative :: Bool
-              _indexIisLiteral :: Bool
-              _indexIisMultiline :: Bool
-              _indexIpos :: Region
-              _indexIprecedence :: OperatorLevel
-              _indexIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 719 "src/GLua/AG/PrettyPrint.ag" #-}
-                   brackets _lhsIppconf _indexIpretty
-                   {-# LINE 6103 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indexOparentOperatorPrecedence =
-                  ({-# LINE 720 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 6108 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indexOparentOperatorAssociative =
-                  ({-# LINE 721 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6113 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _indexIisAssociative
-                   {-# LINE 6118 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _indexIisMultiline
-                   {-# LINE 6123 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _indexIprecedence
-                   {-# LINE 6128 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ExprIndex _indexIcopy
-                   {-# LINE 6133 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6138 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _indexIcomments
-                   {-# LINE 6143 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indexOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6148 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indexOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6153 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indexOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6158 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _indexOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6163 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _indexIcomments,_indexIcopy,_indexIendsWithPrefixExpression,_indexIisAssociative,_indexIisLiteral,_indexIisMultiline,_indexIpos,_indexIprecedence,_indexIpretty) =
-                  index_ _indexOcomments _indexOforceMultiline _indexOindent _indexOparentOperatorAssociative _indexOparentOperatorPrecedence _indexOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
-sem_PFExprSuffix_DotIndex :: MToken ->
-                             T_PFExprSuffix
-sem_PFExprSuffix_DotIndex index_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: PFExprSuffix
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 722 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zchr '.' <> tok index_
-                   {-# LINE 6184 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6189 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6194 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   OperatorLevel8
-                   {-# LINE 6199 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   DotIndex index_
-                   {-# LINE 6204 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6209 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6214 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
--- PrefixExp ---------------------------------------------------
--- cata
-sem_PrefixExp :: PrefixExp ->
-                 T_PrefixExp
-sem_PrefixExp (PFVar _name _suffixes) =
-    (sem_PrefixExp_PFVar _name (sem_ExprSuffixList _suffixes))
-sem_PrefixExp (ExprVar _expr _suffixes) =
-    (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))
--- semantic domain
-type T_PrefixExp = ([MToken]) ->
-                   Bool ->
-                   Int ->
-                   Bool ->
-                   OperatorLevel ->
-                   PrettyPrintConfig ->
-                   ( ([MToken]),PrefixExp,Bool,Bool,Bool,OperatorLevel,Doc,Bool)
-data Inh_PrefixExp = Inh_PrefixExp {comments_Inh_PrefixExp :: ([MToken]),forceMultiline_Inh_PrefixExp :: Bool,indent_Inh_PrefixExp :: Int,parentOperatorAssociative_Inh_PrefixExp :: Bool,parentOperatorPrecedence_Inh_PrefixExp :: OperatorLevel,ppconf_Inh_PrefixExp :: PrettyPrintConfig}
-data Syn_PrefixExp = Syn_PrefixExp {comments_Syn_PrefixExp :: ([MToken]),copy_Syn_PrefixExp :: PrefixExp,isAssociative_Syn_PrefixExp :: Bool,isLiteral_Syn_PrefixExp :: Bool,isMultiline_Syn_PrefixExp :: Bool,precedence_Syn_PrefixExp :: OperatorLevel,pretty_Syn_PrefixExp :: Doc,startsWithExprPrefixExpression_Syn_PrefixExp :: Bool}
-wrap_PrefixExp :: T_PrefixExp ->
-                  Inh_PrefixExp ->
-                  Syn_PrefixExp
-wrap_PrefixExp sem (Inh_PrefixExp _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty,_lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf
-     in  (Syn_PrefixExp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty _lhsOstartsWithExprPrefixExpression))
-sem_PrefixExp_PFVar :: MToken ->
-                       T_ExprSuffixList ->
-                       T_PrefixExp
-sem_PrefixExp_PFVar name_ suffixes_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisLiteral :: Bool
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOprecedence :: OperatorLevel
-              _lhsOcopy :: PrefixExp
-              _lhsOcomments :: ([MToken])
-              _suffixesOcomments :: ([MToken])
-              _suffixesOforceMultiline :: Bool
-              _suffixesOindent :: Int
-              _suffixesOppconf :: PrettyPrintConfig
-              _suffixesIcomments :: ([MToken])
-              _suffixesIcopy :: ExprSuffixList
-              _suffixesIisAssociative :: Bool
-              _suffixesIisMultiline :: Bool
-              _suffixesIprecedence :: OperatorLevel
-              _suffixesIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 676 "src/GLua/AG/PrettyPrint.ag" #-}
-                   tok name_ <> _suffixesIpretty
-                   {-# LINE 6272 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 677 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6277 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 678 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6282 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _suffixesIisAssociative
-                   {-# LINE 6287 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _suffixesIisMultiline
-                   {-# LINE 6292 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _suffixesIprecedence
-                   {-# LINE 6297 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   PFVar name_ _suffixesIcopy
-                   {-# LINE 6302 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6307 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _suffixesIcomments
-                   {-# LINE 6312 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6317 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6322 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6327 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6332 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _suffixesIcomments,_suffixesIcopy,_suffixesIisAssociative,_suffixesIisMultiline,_suffixesIprecedence,_suffixesIpretty) =
-                  suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_PrefixExp_ExprVar :: T_MExpr ->
-                         T_ExprSuffixList ->
-                         T_PrefixExp
-sem_PrefixExp_ExprVar expr_ suffixes_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIparentOperatorAssociative
-       _lhsIparentOperatorPrecedence
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOprecedence :: OperatorLevel
-              _lhsOisLiteral :: Bool
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOisAssociative :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: PrefixExp
-              _lhsOcomments :: ([MToken])
-              _exprOcomments :: ([MToken])
-              _exprOforceMultiline :: Bool
-              _exprOindent :: Int
-              _exprOparentOperatorAssociative :: Bool
-              _exprOparentOperatorPrecedence :: OperatorLevel
-              _exprOppconf :: PrettyPrintConfig
-              _suffixesOcomments :: ([MToken])
-              _suffixesOforceMultiline :: Bool
-              _suffixesOindent :: Int
-              _suffixesOppconf :: PrettyPrintConfig
-              _exprIcomments :: ([MToken])
-              _exprIcopy :: MExpr
-              _exprIendsWithPrefixExpression :: Bool
-              _exprIisAssociative :: Bool
-              _exprIisLiteral :: Bool
-              _exprIisMultiline :: Bool
-              _exprIpos :: Region
-              _exprIprecedence :: OperatorLevel
-              _exprIpretty :: Doc
-              _suffixesIcomments :: ([MToken])
-              _suffixesIcopy :: ExprSuffixList
-              _suffixesIisAssociative :: Bool
-              _suffixesIisMultiline :: Bool
-              _suffixesIprecedence :: OperatorLevel
-              _suffixesIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 679 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if _noparens     then _exprIpretty else parens _lhsIppconf NonEmpty _exprIpretty) <> _suffixesIpretty
-                   {-# LINE 6383 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOprecedence =
-                  ({-# LINE 680 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _noparens     then _exprIprecedence else OperatorLevel8
-                   {-# LINE 6388 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisLiteral =
-                  ({-# LINE 681 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6393 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 682 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6398 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _containsParenthesizedExpr =
-                  ({-# LINE 686 "src/GLua/AG/PrettyPrint.ag" #-}
-                   case _exprIcopy of
-                      MExpr _ (APrefixExpr (ExprVar (MExpr _ AVarArg) _)) -> False
-                      MExpr _ (APrefixExpr _) -> True
-                      _ -> False
-                   {-# LINE 6406 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _noparens =
-                  ({-# LINE 691 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (removeRedundantParens _lhsIppconf || minimizeParens _lhsIppconf) && (_containsParenthesizedExpr     || (_lhsIparentOperatorPrecedence == TopLevelExpression || _exprIisLiteral) && length _suffixesIcopy == 0) ||
-                   (minimizeParens _lhsIppconf && length _suffixesIcopy == 0 &&
-                       ( _lhsIparentOperatorPrecedence < _exprIprecedence
-                       || assumeOperatorAssociativity _lhsIppconf
-                       && _lhsIparentOperatorPrecedence == _exprIprecedence
-                       && _lhsIparentOperatorAssociative
-                       )
-                   )
-                   {-# LINE 6418 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisAssociative =
-                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIisAssociative && _suffixesIisAssociative
-                   {-# LINE 6423 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIisMultiline || _suffixesIisMultiline
-                   {-# LINE 6428 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ExprVar _exprIcopy _suffixesIcopy
-                   {-# LINE 6433 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6438 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _suffixesIcomments
-                   {-# LINE 6443 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6448 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6453 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6458 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOparentOperatorAssociative =
-                  ({-# LINE 259 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorAssociative
-                   {-# LINE 6463 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOparentOperatorPrecedence =
-                  ({-# LINE 258 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIparentOperatorPrecedence
-                   {-# LINE 6468 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6473 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprIcomments
-                   {-# LINE 6478 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6483 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6488 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _suffixesOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6493 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _exprIcomments,_exprIcopy,_exprIendsWithPrefixExpression,_exprIisAssociative,_exprIisLiteral,_exprIisMultiline,_exprIpos,_exprIprecedence,_exprIpretty) =
-                  expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf
-              ( _suffixesIcomments,_suffixesIcopy,_suffixesIisAssociative,_suffixesIisMultiline,_suffixesIprecedence,_suffixesIpretty) =
-                  suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
--- Stat --------------------------------------------------------
--- cata
-sem_Stat :: Stat ->
-            T_Stat
-sem_Stat (Def _vars) =
-    (sem_Stat_Def (sem_VarsList _vars))
-sem_Stat (LocDef _vars) =
-    (sem_Stat_LocDef (sem_VarsList _vars))
-sem_Stat (AFuncCall _fn) =
-    (sem_Stat_AFuncCall (sem_PrefixExp _fn))
-sem_Stat (ALabel _lbl) =
-    (sem_Stat_ALabel _lbl)
-sem_Stat (ABreak) =
-    (sem_Stat_ABreak)
-sem_Stat (AContinue) =
-    (sem_Stat_AContinue)
-sem_Stat (AGoto _lbl) =
-    (sem_Stat_AGoto _lbl)
-sem_Stat (ADo _body) =
-    (sem_Stat_ADo (sem_Block _body))
-sem_Stat (AWhile _cond _body) =
-    (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))
-sem_Stat (ARepeat _body _cond) =
-    (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))
-sem_Stat (AIf _cond _body _elifs _els) =
-    (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))
-sem_Stat (ANFor _var _val _to _step _body) =
-    (sem_Stat_ANFor _var (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))
-sem_Stat (AGFor _vars _vals _body) =
-    (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))
-sem_Stat (AFunc _name _args _body) =
-    (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))
-sem_Stat (ALocFunc _name _args _body) =
-    (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))
--- semantic domain
-type T_Stat = ([MToken]) ->
-              Bool ->
-              Int ->
-              Bool ->
-              PrettyPrintConfig ->
-              Region ->
-              Bool ->
-              ( ([MToken]),Stat,Bool,Bool,Bool,Doc,Bool)
-data Inh_Stat = Inh_Stat {comments_Inh_Stat :: ([MToken]),forceMultiline_Inh_Stat :: Bool,indent_Inh_Stat :: Int,isLastStatement_Inh_Stat :: Bool,ppconf_Inh_Stat :: PrettyPrintConfig,statRegion_Inh_Stat :: Region,wouldBeAmbiguousWithoutSemicolon_Inh_Stat :: Bool}
-data Syn_Stat = Syn_Stat {comments_Syn_Stat :: ([MToken]),copy_Syn_Stat :: Stat,endsWithPrefixExpression_Syn_Stat :: Bool,hasBreaking_Syn_Stat :: Bool,isMultiline_Syn_Stat :: Bool,pretty_Syn_Stat :: Doc,startsWithExprPrefixExpression_Syn_Stat :: Bool}
-wrap_Stat :: T_Stat ->
-             Inh_Stat ->
-             Syn_Stat
-wrap_Stat sem (Inh_Stat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon
-     in  (Syn_Stat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOhasBreaking _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression))
-sem_Stat_Def :: T_VarsList ->
-                T_Stat
-sem_Stat_Def vars_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _varsOisHead :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _varsOcomments :: ([MToken])
-              _varsOforceMultiline :: Bool
-              _varsOindent :: Int
-              _varsOppconf :: PrettyPrintConfig
-              _varsIcomments :: ([MToken])
-              _varsIcopy :: VarsList
-              _varsIendsWithPrefixExpression :: Bool
-              _varsIexprPretty :: Doc
-              _varsIisDefined :: Bool
-              _varsIisMultiline :: Bool
-              _varsIpretty :: Doc
-              _varsIstartsWithExprPrefixExpression :: Bool
-              _varsIvarPretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 542 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIpretty <> _semicolon
-                   {-# LINE 6585 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 543 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIstartsWithExprPrefixExpression
-                   {-# LINE 6590 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 544 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIendsWithPrefixExpression
-                   {-# LINE 6595 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 545 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon then zchr ';' else empty
-                   {-# LINE 6600 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOisHead =
-                  ({-# LINE 546 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6605 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6610 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIisMultiline
-                   {-# LINE 6615 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   Def _varsIcopy
-                   {-# LINE 6620 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6625 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIcomments
-                   {-# LINE 6630 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6635 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6640 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6645 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6650 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _varsIcomments,_varsIcopy,_varsIendsWithPrefixExpression,_varsIexprPretty,_varsIisDefined,_varsIisMultiline,_varsIpretty,_varsIstartsWithExprPrefixExpression,_varsIvarPretty) =
-                  vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOisHead _varsOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_LocDef :: T_VarsList ->
-                   T_Stat
-sem_Stat_LocDef vars_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _varsOisHead :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _varsOcomments :: ([MToken])
-              _varsOforceMultiline :: Bool
-              _varsOindent :: Int
-              _varsOppconf :: PrettyPrintConfig
-              _varsIcomments :: ([MToken])
-              _varsIcopy :: VarsList
-              _varsIendsWithPrefixExpression :: Bool
-              _varsIexprPretty :: Doc
-              _varsIisDefined :: Bool
-              _varsIisMultiline :: Bool
-              _varsIpretty :: Doc
-              _varsIstartsWithExprPrefixExpression :: Bool
-              _varsIvarPretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 547 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "local" <-> _varsIpretty <> _semicolon
-                   {-# LINE 6689 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 548 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIstartsWithExprPrefixExpression
-                   {-# LINE 6694 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 549 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIendsWithPrefixExpression
-                   {-# LINE 6699 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 550 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon then zchr ';' else empty
-                   {-# LINE 6704 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOisHead =
-                  ({-# LINE 551 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6709 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6714 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIisMultiline
-                   {-# LINE 6719 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   LocDef _varsIcopy
-                   {-# LINE 6724 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6729 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varsIcomments
-                   {-# LINE 6734 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6739 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6744 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6749 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6754 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _varsIcomments,_varsIcopy,_varsIendsWithPrefixExpression,_varsIexprPretty,_varsIisDefined,_varsIisMultiline,_varsIpretty,_varsIstartsWithExprPrefixExpression,_varsIvarPretty) =
-                  vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOisHead _varsOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AFuncCall :: T_PrefixExp ->
-                      T_Stat
-sem_Stat_AFuncCall fn_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _fnOparentOperatorPrecedence :: OperatorLevel
-              _fnOparentOperatorAssociative :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _fnOcomments :: ([MToken])
-              _fnOforceMultiline :: Bool
-              _fnOindent :: Int
-              _fnOppconf :: PrettyPrintConfig
-              _fnIcomments :: ([MToken])
-              _fnIcopy :: PrefixExp
-              _fnIisAssociative :: Bool
-              _fnIisLiteral :: Bool
-              _fnIisMultiline :: Bool
-              _fnIprecedence :: OperatorLevel
-              _fnIpretty :: Doc
-              _fnIstartsWithExprPrefixExpression :: Bool
-              _lhsOpretty =
-                  ({-# LINE 552 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _fnIpretty <> _semicolon
-                   {-# LINE 6793 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 553 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf then zchr ';' else empty
-                   {-# LINE 6798 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 554 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _fnIstartsWithExprPrefixExpression
-                   {-# LINE 6803 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 555 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6808 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fnOparentOperatorPrecedence =
-                  ({-# LINE 556 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 6813 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fnOparentOperatorAssociative =
-                  ({-# LINE 557 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6818 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6823 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _fnIisMultiline
-                   {-# LINE 6828 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AFuncCall _fnIcopy
-                   {-# LINE 6833 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6838 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _fnIcomments
-                   {-# LINE 6843 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fnOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6848 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fnOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 6853 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fnOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 6858 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _fnOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 6863 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _fnIcomments,_fnIcopy,_fnIisAssociative,_fnIisLiteral,_fnIisMultiline,_fnIprecedence,_fnIpretty,_fnIstartsWithExprPrefixExpression) =
-                  fn_ _fnOcomments _fnOforceMultiline _fnOindent _fnOparentOperatorAssociative _fnOparentOperatorPrecedence _fnOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_ALabel :: MToken ->
-                   T_Stat
-sem_Stat_ALabel lbl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 558 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "::" <> _whitespace     <> tok lbl_ <> _whitespace     <> zeroWidthText "::"
-                   {-# LINE 6888 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 559 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6893 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 560 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6898 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _whitespace =
-                  ({-# LINE 561 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if spaceAfterLabel _lhsIppconf then zeroWidthText " " else empty
-                   {-# LINE 6903 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6908 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6913 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ALabel lbl_
-                   {-# LINE 6918 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6923 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6928 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_ABreak :: T_Stat
-sem_Stat_ABreak =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 562 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "break" <> _semicolon
-                   {-# LINE 6950 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 563 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6955 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 564 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6960 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 565 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf then zchr ';' else empty
-                   {-# LINE 6965 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 566 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 6970 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 6975 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ABreak
-                   {-# LINE 6980 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 6985 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 6990 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AContinue :: T_Stat
-sem_Stat_AContinue =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 567 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "continue" <> _semicolon
-                   {-# LINE 7012 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 568 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7017 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 569 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7022 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 570 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf then zchr ';' else empty
-                   {-# LINE 7027 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 571 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7032 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7037 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AContinue
-                   {-# LINE 7042 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7047 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7052 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AGoto :: MToken ->
-                  T_Stat
-sem_Stat_AGoto lbl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 572 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "goto" <-> tok lbl_ <> _semicolon
-                   {-# LINE 7075 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 573 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7080 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 574 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7085 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _semicolon =
-                  ({-# LINE 575 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if semicolons _lhsIppconf then zchr ';' else empty
-                   {-# LINE 7090 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 306 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7095 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7100 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AGoto lbl_
-                   {-# LINE 7105 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7110 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7115 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_ADo :: T_Block ->
-                T_Stat
-sem_Stat_ADo body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _bodyOindent :: Int
-              _lhsOhasBreaking :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 577 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7149 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 578 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "do" $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 7154 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 579 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7159 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 580 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7164 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 581 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 7169 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 582 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7174 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ADo _bodyIcopy
-                   {-# LINE 7179 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7184 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 7189 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7194 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7199 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7204 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 7209 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AWhile :: T_MExpr ->
-                   T_Block ->
-                   T_Stat
-sem_Stat_AWhile cond_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _condOparentOperatorPrecedence :: OperatorLevel
-              _condOparentOperatorAssociative :: Bool
-              _lhsOpretty :: Doc
-              _bodyOindent :: Int
-              _lhsOhasBreaking :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _condOcomments :: ([MToken])
-              _condOforceMultiline :: Bool
-              _condOindent :: Int
-              _condOppconf :: PrettyPrintConfig
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _condIcomments :: ([MToken])
-              _condIcopy :: MExpr
-              _condIendsWithPrefixExpression :: Bool
-              _condIisAssociative :: Bool
-              _condIisLiteral :: Bool
-              _condIisMultiline :: Bool
-              _condIpos :: Region
-              _condIprecedence :: OperatorLevel
-              _condIpretty :: Doc
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 583 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7261 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 584 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7266 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 585 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7271 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOparentOperatorPrecedence =
-                  ({-# LINE 586 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 7276 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOparentOperatorAssociative =
-                  ({-# LINE 587 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7281 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 588 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "while" <-> _condIpretty <-> zeroWidthText "do" $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 7286 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 589 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 7291 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 590 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7296 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AWhile _condIcopy _bodyIcopy
-                   {-# LINE 7301 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7306 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 7311 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7316 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7321 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7326 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7331 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _condIcomments
-                   {-# LINE 7336 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7341 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7346 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 7351 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _condIcomments,_condIcopy,_condIendsWithPrefixExpression,_condIisAssociative,_condIisLiteral,_condIisMultiline,_condIpos,_condIprecedence,_condIpretty) =
-                  cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_ARepeat :: T_Block ->
-                    T_MExpr ->
-                    T_Stat
-sem_Stat_ARepeat body_ cond_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _bodyOindent :: Int
-              _condOparentOperatorPrecedence :: OperatorLevel
-              _condOparentOperatorAssociative :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _condOcomments :: ([MToken])
-              _condOforceMultiline :: Bool
-              _condOindent :: Int
-              _condOppconf :: PrettyPrintConfig
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _condIcomments :: ([MToken])
-              _condIcopy :: MExpr
-              _condIendsWithPrefixExpression :: Bool
-              _condIisAssociative :: Bool
-              _condIisLiteral :: Bool
-              _condIisMultiline :: Bool
-              _condIpos :: Region
-              _condIprecedence :: OperatorLevel
-              _condIpretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 591 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "repeat" $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "until" <-> _condIpretty)
-                   {-# LINE 7405 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 592 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7410 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 593 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7415 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 594 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 7420 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOparentOperatorPrecedence =
-                  ({-# LINE 595 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 7425 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOparentOperatorAssociative =
-                  ({-# LINE 596 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7430 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 597 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7435 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIisMultiline || _condIisMultiline
-                   {-# LINE 7440 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ARepeat _bodyIcopy _condIcopy
-                   {-# LINE 7445 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7450 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _condIcomments
-                   {-# LINE 7455 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7460 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7465 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7470 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 7475 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 7480 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7485 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7490 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7495 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-              ( _condIcomments,_condIcopy,_condIendsWithPrefixExpression,_condIisAssociative,_condIisLiteral,_condIisMultiline,_condIpos,_condIprecedence,_condIpretty) =
-                  cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AIf :: T_MExpr ->
-                T_Block ->
-                T_ElseIfList ->
-                T_Else ->
-                T_Stat
-sem_Stat_AIf cond_ body_ elifs_ els_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _condOparentOperatorPrecedence :: OperatorLevel
-              _condOparentOperatorAssociative :: Bool
-              _bodyOindent :: Int
-              _bodyOstatRegion :: Region
-              _lhsOpretty :: Doc
-              _lhsOhasBreaking :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _condOcomments :: ([MToken])
-              _condOforceMultiline :: Bool
-              _condOindent :: Int
-              _condOppconf :: PrettyPrintConfig
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _elifsOcomments :: ([MToken])
-              _elifsOforceMultiline :: Bool
-              _elifsOindent :: Int
-              _elifsOppconf :: PrettyPrintConfig
-              _elsOcomments :: ([MToken])
-              _elsOforceMultiline :: Bool
-              _elsOindent :: Int
-              _elsOppconf :: PrettyPrintConfig
-              _elsOstatRegion :: Region
-              _condIcomments :: ([MToken])
-              _condIcopy :: MExpr
-              _condIendsWithPrefixExpression :: Bool
-              _condIisAssociative :: Bool
-              _condIisLiteral :: Bool
-              _condIisMultiline :: Bool
-              _condIpos :: Region
-              _condIprecedence :: OperatorLevel
-              _condIpretty :: Doc
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _elifsIcomments :: ([MToken])
-              _elifsIcopy :: ElseIfList
-              _elifsIelsesExist :: Bool
-              _elifsIisMultiline :: Bool
-              _elifsIpos :: Region
-              _elifsIpretty :: Doc
-              _elsIcomments :: ([MToken])
-              _elsIcopy :: Else
-              _elsIelsesExist :: Bool
-              _elsIisMultiline :: Bool
-              _elsIpos :: Region
-              _elsIpretty :: Doc
-              _isMultiline =
-                  ({-# LINE 598 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline || _condIisMultiline || _bodyIisMultiline || _bodyIstatementCount > 1 || (_bodyIstatementCount == 1 && not _bodyIhasBreaking) || _elifsIelsesExist || _elsIelsesExist
-                   {-# LINE 7572 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 600 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7577 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 601 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7582 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _singleLinePretty =
-                  ({-# LINE 602 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "if" <-> _condIpretty <-> zeroWidthText "then" <-> _bodyIpretty <-> zeroWidthText "end"
-                   {-# LINE 7587 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _multilinePretty =
-                  ({-# LINE 603 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "if" <-> _condIpretty <-> zeroWidthText "then" $+$ _bodyIpretty $+$ _elifsIpretty $+$ _elsIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 7592 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOparentOperatorPrecedence =
-                  ({-# LINE 604 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 7597 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOparentOperatorAssociative =
-                  ({-# LINE 605 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7602 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 606 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then _lhsIindent + 1 else 0
-                   {-# LINE 7607 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 607 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion `upto` _elifsIpos `upto` _elsIpos
-                   {-# LINE 7612 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 608 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _isMultiline     then _multilinePretty     else _singleLinePretty
-                   {-# LINE 7617 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 609 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7622 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isMultiline
-                   {-# LINE 7627 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy
-                   {-# LINE 7632 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7637 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _elsIcomments
-                   {-# LINE 7642 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7647 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7652 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7657 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _condOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7662 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _condIcomments
-                   {-# LINE 7667 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7672 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7677 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 7682 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7687 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7692 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elifsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7697 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _elifsIcomments
-                   {-# LINE 7702 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elsOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7707 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7712 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7717 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _elsOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 7722 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _condIcomments,_condIcopy,_condIendsWithPrefixExpression,_condIisAssociative,_condIisLiteral,_condIisMultiline,_condIpos,_condIprecedence,_condIpretty) =
-                  cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-              ( _elifsIcomments,_elifsIcopy,_elifsIelsesExist,_elifsIisMultiline,_elifsIpos,_elifsIpretty) =
-                  elifs_ _elifsOcomments _elifsOforceMultiline _elifsOindent _elifsOppconf
-              ( _elsIcomments,_elsIcopy,_elsIelsesExist,_elsIisMultiline,_elsIpos,_elsIpretty) =
-                  els_ _elsOcomments _elsOforceMultiline _elsOindent _elsOppconf _elsOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_ANFor :: MToken ->
-                  T_MExpr ->
-                  T_MExpr ->
-                  T_MExpr ->
-                  T_Block ->
-                  T_Stat
-sem_Stat_ANFor var_ val_ to_ step_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOpretty :: Doc
-              _valOparentOperatorPrecedence :: OperatorLevel
-              _valOparentOperatorAssociative :: Bool
-              _toOparentOperatorPrecedence :: OperatorLevel
-              _toOparentOperatorAssociative :: Bool
-              _stepOparentOperatorPrecedence :: OperatorLevel
-              _stepOparentOperatorAssociative :: Bool
-              _bodyOindent :: Int
-              _lhsOhasBreaking :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _valOcomments :: ([MToken])
-              _valOforceMultiline :: Bool
-              _valOindent :: Int
-              _valOppconf :: PrettyPrintConfig
-              _toOcomments :: ([MToken])
-              _toOforceMultiline :: Bool
-              _toOindent :: Int
-              _toOppconf :: PrettyPrintConfig
-              _stepOcomments :: ([MToken])
-              _stepOforceMultiline :: Bool
-              _stepOindent :: Int
-              _stepOppconf :: PrettyPrintConfig
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _valIcomments :: ([MToken])
-              _valIcopy :: MExpr
-              _valIendsWithPrefixExpression :: Bool
-              _valIisAssociative :: Bool
-              _valIisLiteral :: Bool
-              _valIisMultiline :: Bool
-              _valIpos :: Region
-              _valIprecedence :: OperatorLevel
-              _valIpretty :: Doc
-              _toIcomments :: ([MToken])
-              _toIcopy :: MExpr
-              _toIendsWithPrefixExpression :: Bool
-              _toIisAssociative :: Bool
-              _toIisLiteral :: Bool
-              _toIisMultiline :: Bool
-              _toIpos :: Region
-              _toIprecedence :: OperatorLevel
-              _toIpretty :: Doc
-              _stepIcomments :: ([MToken])
-              _stepIcopy :: MExpr
-              _stepIendsWithPrefixExpression :: Bool
-              _stepIisAssociative :: Bool
-              _stepIisLiteral :: Bool
-              _stepIisMultiline :: Bool
-              _stepIpos :: Region
-              _stepIprecedence :: OperatorLevel
-              _stepIpretty :: Doc
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 610 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7813 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 611 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7818 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 612 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7823 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _step =
-                  ({-# LINE 613 "src/GLua/AG/PrettyPrint.ag" #-}
-                   case _stepIcopy of
-                       MExpr _ (ANumber "1") -> empty
-                       _ -> _comma     <> _stepIpretty
-                   {-# LINE 7830 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 616 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "for" <-> tok var_ <-> zchr '=' <-> _valIpretty <> _comma     <> _toIpretty <> _step     <-> zeroWidthText "do" $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 7835 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 617 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ',' <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
-                   {-# LINE 7840 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valOparentOperatorPrecedence =
-                  ({-# LINE 618 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 7845 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valOparentOperatorAssociative =
-                  ({-# LINE 619 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7850 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _toOparentOperatorPrecedence =
-                  ({-# LINE 620 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 7855 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _toOparentOperatorAssociative =
-                  ({-# LINE 621 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7860 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _stepOparentOperatorPrecedence =
-                  ({-# LINE 622 "src/GLua/AG/PrettyPrint.ag" #-}
-                   TopLevelExpression
-                   {-# LINE 7865 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _stepOparentOperatorAssociative =
-                  ({-# LINE 623 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 7870 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 624 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 7875 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 625 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 7880 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ANFor var_ _valIcopy _toIcopy _stepIcopy _bodyIcopy
-                   {-# LINE 7885 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 7890 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 7895 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 7900 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7905 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7910 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7915 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _toOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valIcomments
-                   {-# LINE 7920 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _toOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7925 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _toOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7930 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _toOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7935 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _stepOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _toIcomments
-                   {-# LINE 7940 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _stepOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7945 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _stepOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 7950 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _stepOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7955 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _stepIcomments
-                   {-# LINE 7960 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 7965 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 7970 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 7975 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _valIcomments,_valIcopy,_valIendsWithPrefixExpression,_valIisAssociative,_valIisLiteral,_valIisMultiline,_valIpos,_valIprecedence,_valIpretty) =
-                  val_ _valOcomments _valOforceMultiline _valOindent _valOparentOperatorAssociative _valOparentOperatorPrecedence _valOppconf
-              ( _toIcomments,_toIcopy,_toIendsWithPrefixExpression,_toIisAssociative,_toIisLiteral,_toIisMultiline,_toIpos,_toIprecedence,_toIpretty) =
-                  to_ _toOcomments _toOforceMultiline _toOindent _toOparentOperatorAssociative _toOparentOperatorPrecedence _toOppconf
-              ( _stepIcomments,_stepIcopy,_stepIendsWithPrefixExpression,_stepIisAssociative,_stepIisLiteral,_stepIisMultiline,_stepIpos,_stepIprecedence,_stepIpretty) =
-                  step_ _stepOcomments _stepOforceMultiline _stepOindent _stepOparentOperatorAssociative _stepOparentOperatorPrecedence _stepOppconf
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AGFor :: ([MToken]) ->
-                  T_MExprList ->
-                  T_Block ->
-                  T_Stat
-sem_Stat_AGFor vars_ vals_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOpretty :: Doc
-              _bodyOindent :: Int
-              _valsOisHead :: Bool
-              _valsOforceMultiline :: Bool
-              _lhsOhasBreaking :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _valsOcomments :: ([MToken])
-              _valsOindent :: Int
-              _valsOppconf :: PrettyPrintConfig
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _valsIcomments :: ([MToken])
-              _valsIcopy :: MExprList
-              _valsIisAssociative :: Bool
-              _valsIisMultiline :: Bool
-              _valsIpos :: Region
-              _valsIprecedence :: OperatorLevel
-              _valsIpretty :: Doc
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 626 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 8031 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 627 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8036 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 628 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8041 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 629 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "for" <-> printList tok (render _comma    ) vars_ <-> zeroWidthText "in" <-> _valsIpretty <-> zeroWidthText "do" $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 8046 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 630 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 8051 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 631 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ',' <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
-                   {-# LINE 8056 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valsOisHead =
-                  ({-# LINE 632 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 8061 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valsOforceMultiline =
-                  ({-# LINE 634 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8066 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 635 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8071 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AGFor vars_ _valsIcopy _bodyIcopy
-                   {-# LINE 8076 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8081 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 8086 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8091 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valsOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 8096 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _valsOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8101 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _valsIcomments
-                   {-# LINE 8106 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 8111 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8116 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 8121 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _valsIcomments,_valsIcopy,_valsIisAssociative,_valsIisMultiline,_valsIpos,_valsIprecedence,_valsIpretty) =
-                  vals_ _valsOcomments _valsOforceMultiline _valsOindent _valsOisHead _valsOppconf
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_AFunc :: T_FuncName ->
-                  ([MToken]) ->
-                  T_Block ->
-                  T_Stat
-sem_Stat_AFunc name_ args_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOpretty :: Doc
-              _bodyOindent :: Int
-              _lhsOhasBreaking :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _nameOcomments :: ([MToken])
-              _nameOindent :: Int
-              _nameOppconf :: PrettyPrintConfig
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _nameIcomments :: ([MToken])
-              _nameIcopy :: FuncName
-              _nameIisMultiline :: Bool
-              _nameIpretty :: Doc
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 636 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 8168 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 637 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8173 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 638 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8178 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 639 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "function" <-> _nameIpretty <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) args_) $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 8183 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _emptyParams =
-                  ({-# LINE 640 "src/GLua/AG/PrettyPrint.ag" #-}
-                   toEmpty $ null args_
-                   {-# LINE 8188 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 641 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ',' <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
-                   {-# LINE 8193 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 642 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 8198 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 643 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8203 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AFunc _nameIcopy args_ _bodyIcopy
-                   {-# LINE 8208 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8213 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 8218 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _nameOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8223 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _nameOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 8228 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _nameOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8233 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _nameIcomments
-                   {-# LINE 8238 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 8243 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8248 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 8253 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _nameIcomments,_nameIcopy,_nameIisMultiline,_nameIpretty) =
-                  name_ _nameOcomments _nameOindent _nameOppconf
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
-sem_Stat_ALocFunc :: T_FuncName ->
-                     ([MToken]) ->
-                     T_Block ->
-                     T_Stat
-sem_Stat_ALocFunc name_ args_ body_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisLastStatement
-       _lhsIppconf
-       _lhsIstatRegion
-       _lhsIwouldBeAmbiguousWithoutSemicolon ->
-         (let _lhsOisMultiline :: Bool
-              _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _bodyOindent :: Int
-              _lhsOhasBreaking :: Bool
-              _lhsOcopy :: Stat
-              _lhsOcomments :: ([MToken])
-              _nameOcomments :: ([MToken])
-              _nameOindent :: Int
-              _nameOppconf :: PrettyPrintConfig
-              _bodyOcomments :: ([MToken])
-              _bodyOforceMultiline :: Bool
-              _bodyOppconf :: PrettyPrintConfig
-              _bodyOstatRegion :: Region
-              _nameIcomments :: ([MToken])
-              _nameIcopy :: FuncName
-              _nameIisMultiline :: Bool
-              _nameIpretty :: Doc
-              _bodyIcomments :: ([MToken])
-              _bodyIcopy :: Block
-              _bodyIhasBreaking :: Bool
-              _bodyIisMultiline :: Bool
-              _bodyIpretty :: Doc
-              _bodyIstatementCount :: Int
-              _lhsOisMultiline =
-                  ({-# LINE 644 "src/GLua/AG/PrettyPrint.ag" #-}
-                   True
-                   {-# LINE 8300 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOpretty =
-                  ({-# LINE 645 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "local function" <-> _nameIpretty <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) args_) $+$ _bodyIpretty $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
-                   {-# LINE 8305 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 646 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8310 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 647 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8315 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _emptyParams =
-                  ({-# LINE 648 "src/GLua/AG/PrettyPrint.ag" #-}
-                   toEmpty $ null args_
-                   {-# LINE 8320 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 649 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ',' <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
-                   {-# LINE 8325 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOindent =
-                  ({-# LINE 650 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent + 1
-                   {-# LINE 8330 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOhasBreaking =
-                  ({-# LINE 651 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8335 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ALocFunc _nameIcopy args_ _bodyIcopy
-                   {-# LINE 8340 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8345 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _bodyIcomments
-                   {-# LINE 8350 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _nameOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8355 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _nameOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 8360 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _nameOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8365 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _nameIcomments
-                   {-# LINE 8370 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 8375 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8380 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _bodyOstatRegion =
-                  ({-# LINE 312 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIstatRegion
-                   {-# LINE 8385 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _nameIcomments,_nameIcopy,_nameIisMultiline,_nameIpretty) =
-                  name_ _nameOcomments _nameOindent _nameOppconf
-              ( _bodyIcomments,_bodyIcopy,_bodyIhasBreaking,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =
-                  body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOhasBreaking,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))
--- UnOp --------------------------------------------------------
--- cata
-sem_UnOp :: UnOp ->
-            T_UnOp
-sem_UnOp (UnMinus) =
-    (sem_UnOp_UnMinus)
-sem_UnOp (ANot) =
-    (sem_UnOp_ANot)
-sem_UnOp (AHash) =
-    (sem_UnOp_AHash)
--- semantic domain
-type T_UnOp = ([MToken]) ->
-              Int ->
-              PrettyPrintConfig ->
-              ( ([MToken]),UnOp,Bool,Doc)
-data Inh_UnOp = Inh_UnOp {comments_Inh_UnOp :: ([MToken]),indent_Inh_UnOp :: Int,ppconf_Inh_UnOp :: PrettyPrintConfig}
-data Syn_UnOp = Syn_UnOp {comments_Syn_UnOp :: ([MToken]),copy_Syn_UnOp :: UnOp,isMultiline_Syn_UnOp :: Bool,pretty_Syn_UnOp :: Doc}
-wrap_UnOp :: T_UnOp ->
-             Inh_UnOp ->
-             Syn_UnOp
-wrap_UnOp sem (Inh_UnOp _lhsIcomments _lhsIindent _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf
-     in  (Syn_UnOp _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))
-sem_UnOp_UnMinus :: T_UnOp
-sem_UnOp_UnMinus =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: UnOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 877 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "-"
-                   {-# LINE 8427 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8432 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   UnMinus
-                   {-# LINE 8437 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8442 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8447 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
-sem_UnOp_ANot :: T_UnOp
-sem_UnOp_ANot =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: UnOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 878 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText (if cStyle _lhsIppconf then "!" else "not ")
-                   {-# LINE 8462 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8467 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   ANot
-                   {-# LINE 8472 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8477 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8482 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
-sem_UnOp_AHash :: T_UnOp
-sem_UnOp_AHash =
-    (\ _lhsIcomments
-       _lhsIindent
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOisMultiline :: Bool
-              _lhsOcopy :: UnOp
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 879 "src/GLua/AG/PrettyPrint.ag" #-}
-                   zeroWidthText "#"
-                   {-# LINE 8497 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8502 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   AHash
-                   {-# LINE 8507 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8512 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8517 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))
--- VarsList ----------------------------------------------------
--- cata
-sem_VarsList :: VarsList ->
-                T_VarsList
-sem_VarsList list =
-    (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))
--- semantic domain
-type T_VarsList = ([MToken]) ->
-                  Bool ->
-                  Int ->
-                  Bool ->
-                  PrettyPrintConfig ->
-                  ( ([MToken]),VarsList,Bool,Doc,Bool,Bool,Doc,Bool,Doc)
-data Inh_VarsList = Inh_VarsList {comments_Inh_VarsList :: ([MToken]),forceMultiline_Inh_VarsList :: Bool,indent_Inh_VarsList :: Int,isHead_Inh_VarsList :: Bool,ppconf_Inh_VarsList :: PrettyPrintConfig}
-data Syn_VarsList = Syn_VarsList {comments_Syn_VarsList :: ([MToken]),copy_Syn_VarsList :: VarsList,endsWithPrefixExpression_Syn_VarsList :: Bool,exprPretty_Syn_VarsList :: Doc,isDefined_Syn_VarsList :: Bool,isMultiline_Syn_VarsList :: Bool,pretty_Syn_VarsList :: Doc,startsWithExprPrefixExpression_Syn_VarsList :: Bool,varPretty_Syn_VarsList :: Doc}
-wrap_VarsList :: T_VarsList ->
-                 Inh_VarsList ->
-                 Syn_VarsList
-wrap_VarsList sem (Inh_VarsList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisHead _lhsIppconf) =
-    (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisHead _lhsIppconf
-     in  (Syn_VarsList _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty))
-sem_VarsList_Cons :: T_Declaration ->
-                     T_VarsList ->
-                     T_VarsList
-sem_VarsList_Cons hd_ tl_ =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisHead
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _tlOisHead :: Bool
-              _lhsOexprPretty :: Doc
-              _lhsOisDefined :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOvarPretty :: Doc
-              _lhsOcopy :: VarsList
-              _lhsOcomments :: ([MToken])
-              _hdOcomments :: ([MToken])
-              _hdOforceMultiline :: Bool
-              _hdOindent :: Int
-              _hdOppconf :: PrettyPrintConfig
-              _tlOcomments :: ([MToken])
-              _tlOforceMultiline :: Bool
-              _tlOindent :: Int
-              _tlOppconf :: PrettyPrintConfig
-              _hdIcomments :: ([MToken])
-              _hdIcopy :: Declaration
-              _hdIendsWithPrefixExpression :: Bool
-              _hdIexprPretty :: Doc
-              _hdIisDefined :: Bool
-              _hdIisMultiline :: Bool
-              _hdIpretty :: Doc
-              _hdIstartsWithExprPrefixExpression :: Bool
-              _hdIvarPretty :: Doc
-              _tlIcomments :: ([MToken])
-              _tlIcopy :: VarsList
-              _tlIendsWithPrefixExpression :: Bool
-              _tlIexprPretty :: Doc
-              _tlIisDefined :: Bool
-              _tlIisMultiline :: Bool
-              _tlIpretty :: Doc
-              _tlIstartsWithExprPrefixExpression :: Bool
-              _tlIvarPretty :: Doc
-              _lhsOpretty =
-                  ({-# LINE 476 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varPretty     <-> if _isDefined     then zchr '=' <-> _exprPretty     else empty
-                   {-# LINE 8589 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 477 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIstartsWithExprPrefixExpression
-                   {-# LINE 8594 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 478 "src/GLua/AG/PrettyPrint.ag" #-}
-                   if _tlIisDefined then _tlIendsWithPrefixExpression else _hdIendsWithPrefixExpression
-                   {-# LINE 8599 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _isDefined =
-                  ({-# LINE 485 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIisDefined || _tlIisDefined
-                   {-# LINE 8604 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _varPretty =
-                  ({-# LINE 486 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if _lhsIisHead then empty else _comma    ) <> _hdIvarPretty <> _tlIvarPretty
-                   {-# LINE 8609 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _exprPretty =
-                  ({-# LINE 487 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if _lhsIisHead || not _hdIisDefined then empty else _comma    ) <> _hdIexprPretty <> _tlIexprPretty
-                   {-# LINE 8614 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _comma =
-                  ({-# LINE 488 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ',' <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
-                   {-# LINE 8619 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOisHead =
-                  ({-# LINE 489 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8624 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOexprPretty =
-                  ({-# LINE 272 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _exprPretty
-                   {-# LINE 8629 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisDefined =
-                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _isDefined
-                   {-# LINE 8634 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIisMultiline || _tlIisMultiline
-                   {-# LINE 8639 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOvarPretty =
-                  ({-# LINE 271 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _varPretty
-                   {-# LINE 8644 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   (:) _hdIcopy _tlIcopy
-                   {-# LINE 8649 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8654 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _tlIcomments
-                   {-# LINE 8659 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8664 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 8669 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 8674 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _hdOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8679 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _hdIcomments
-                   {-# LINE 8684 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOforceMultiline =
-                  ({-# LINE 344 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIforceMultiline
-                   {-# LINE 8689 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOindent =
-                  ({-# LINE 249 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIindent
-                   {-# LINE 8694 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _tlOppconf =
-                  ({-# LINE 251 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIppconf
-                   {-# LINE 8699 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              ( _hdIcomments,_hdIcopy,_hdIendsWithPrefixExpression,_hdIexprPretty,_hdIisDefined,_hdIisMultiline,_hdIpretty,_hdIstartsWithExprPrefixExpression,_hdIvarPretty) =
-                  hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
-              ( _tlIcomments,_tlIcopy,_tlIendsWithPrefixExpression,_tlIexprPretty,_tlIisDefined,_tlIisMultiline,_tlIpretty,_tlIstartsWithExprPrefixExpression,_tlIvarPretty) =
-                  tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOisHead _tlOppconf
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty)))
-sem_VarsList_Nil :: T_VarsList
-sem_VarsList_Nil =
-    (\ _lhsIcomments
-       _lhsIforceMultiline
-       _lhsIindent
-       _lhsIisHead
-       _lhsIppconf ->
-         (let _lhsOpretty :: Doc
-              _lhsOstartsWithExprPrefixExpression :: Bool
-              _lhsOendsWithPrefixExpression :: Bool
-              _lhsOexprPretty :: Doc
-              _lhsOisDefined :: Bool
-              _lhsOisMultiline :: Bool
-              _lhsOvarPretty :: Doc
-              _lhsOcopy :: VarsList
-              _lhsOcomments :: ([MToken])
-              _lhsOpretty =
-                  ({-# LINE 491 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 8725 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOstartsWithExprPrefixExpression =
-                  ({-# LINE 492 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8730 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOendsWithPrefixExpression =
-                  ({-# LINE 493 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8735 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOexprPretty =
-                  ({-# LINE 272 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 8740 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisDefined =
-                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8745 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOisMultiline =
-                  ({-# LINE 250 "src/GLua/AG/PrettyPrint.ag" #-}
-                   False
-                   {-# LINE 8750 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOvarPretty =
-                  ({-# LINE 271 "src/GLua/AG/PrettyPrint.ag" #-}
-                   empty
-                   {-# LINE 8755 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _copy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   []
-                   {-# LINE 8760 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcopy =
-                  ({-# LINE 252 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _copy
-                   {-# LINE 8765 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-              _lhsOcomments =
-                  ({-# LINE 290 "src/GLua/AG/PrettyPrint.ag" #-}
-                   _lhsIcomments
-                   {-# LINE 8770 "src/GLua/AG/PrettyPrint.hs" #-}
-                   )
-          in  ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty)))
+{-# LANGUAGE DeriveGeneric #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- UUAGC 0.9.55 (src/GLua/AG/PrettyPrint.ag)
+module GLua.AG.PrettyPrint where
+
+{-# LINE 10 "src/GLua/AG/AST.ag" #-}
+
+import Data.Aeson
+import GHC.Generics
+import GLua.AG.Token
+import GLua.TokenTypes ()
+{-# LINE 15 "src/GLua/AG/PrettyPrint.hs" #-}
+
+{-# LINE 4 "src/GLua/AG/PrettyPrint.ag" #-}
+
+import Data.List (foldl', isInfixOf)
+import Data.Maybe
+import Debug.Trace
+import GLua.AG.AST
+import GLua.TokenTypes
+import Text.Parsec
+import Text.Parsec.Error
+import Text.ParserCombinators.UU.BasicInstances hiding (pos)
+import Text.PrettyPrint hiding (braces, brackets, parens)
+import Prelude hiding ((<>))
+{-# LINE 29 "src/GLua/AG/PrettyPrint.hs" #-}
+{-# LINE 19 "src/GLua/AG/PrettyPrint.ag" #-}
+
+tok :: MToken -> Doc
+tok (MToken _ t) = zeroWidthText . show $ t
+
+printList :: (a -> Doc) -> String -> [a] -> Doc
+printList _ _ [] = empty
+printList f sep' (e : es) = (f e) <> g es
+  where
+    g [] = empty
+    g (e' : es') = zeroWidthText sep' <> (f e') <> g es'
+
+data IsEmpty = IsEmpty | NonEmpty
+
+fromEmpty :: IsEmpty -> Bool
+fromEmpty IsEmpty = True
+fromEmpty NonEmpty = False
+
+toEmpty :: Bool -> IsEmpty
+toEmpty b = if b then IsEmpty else NonEmpty
+
+data PrettyPrintConfig = PPConfig
+  { spaceAfterParens :: Bool
+  , spaceAfterBrackets :: Bool
+  , spaceAfterBraces :: Bool
+  , spaceEmptyParens :: Bool
+  , spaceEmptyBraces :: Bool
+  , spaceAfterLabel :: Bool
+  , spaceBeforeComma :: Bool
+  , spaceAfterComma :: Bool
+  , semicolons :: Bool
+  , cStyle :: Bool
+  , removeRedundantParens :: Bool
+  , minimizeParens :: Bool
+  , assumeOperatorAssociativity :: Bool
+  , indentation :: String
+  }
+
+defaultPPConfig :: PrettyPrintConfig
+defaultPPConfig =
+  PPConfig
+    { spaceAfterParens = False
+    , spaceAfterBrackets = False
+    , spaceAfterBraces = False
+    , spaceEmptyParens = False
+    , spaceEmptyBraces = False
+    , spaceAfterLabel = False
+    , spaceBeforeComma = False
+    , spaceAfterComma = True
+    , semicolons = False
+    , cStyle = False
+    , removeRedundantParens = True
+    , assumeOperatorAssociativity = True
+    , minimizeParens = False
+    , indentation = "    "
+    }
+
+metaDoc :: Maybe MToken -> Doc
+metaDoc (Just m) = zchr ':' <> tok m
+metaDoc Nothing = empty
+
+printVarList :: [(PrefixExp, Maybe MExpr)] -> Doc
+printVarList vars =
+  printList pp_prefixexp ", " (map fst vars)
+    <-> zchr '='
+    <-> printList pp_mexpr ", " (catMaybes . map snd $ vars)
+
+printStats :: [MStat] -> Int -> Doc
+printStats [] _ = empty
+printStats (x : xs) i = nest (i * 4) (pp_mstat x i) $+$ printStats xs i
+
+printElIfs :: [(MExpr, Block)] -> Int -> Doc
+printElIfs [] _ = empty
+printElIfs ((e, b) : es) i =
+  zeroWidthText "elseif"
+    <-> pp_mexpr e
+    <-> zeroWidthText "then"
+    $+$ pp_block b i
+    $+$ printElIfs es i
+
+printEls :: Maybe Block -> Int -> Doc
+printEls Nothing _ = empty
+printEls (Just b) i = zeroWidthText "else" $+$ pp_block b i
+
+renderPos :: LineColPos -> String
+renderPos (LineColPos l c _) = "line " ++ show (succ l) ++ ", column " ++ show (succ c)
+
+renderRegion :: Region -> String
+renderRegion (Region l r) = renderPos l ++ " - " ++ renderPos r
+
+renderSourcePos :: SourcePos -> String
+renderSourcePos sp =
+  "line "
+    ++ (show . succ . sourceLine $ sp)
+    ++ ", column "
+    ++ (show . succ . sourceColumn $ sp)
+
+getMStatPos :: MStat -> String
+getMStatPos (MStat p _) = renderRegion p
+
+getAReturnPos :: AReturn -> String
+getAReturnPos (AReturn p _) = renderRegion p
+getAReturnPos NoReturn = "<unknown>"
+
+getMExprPos :: MExpr -> String
+getMExprPos (MExpr p _) = renderRegion p
+
+renderError :: Error LineColPos -> String
+renderError (Inserted str pos strs) =
+  renderPos pos
+    ++ ": Inserted '"
+    ++ str
+    ++ "'."
+    ++ render_expecting strs
+renderError (Deleted str pos strs) =
+  renderPos pos
+    ++ ": Removed '"
+    ++ str
+    ++ "'. "
+    ++ render_expecting strs
+renderError (Replaced str1 str2 pos strs) =
+  renderPos pos
+    ++ ": Replaced '"
+    ++ str1
+    ++ "' with '"
+    ++ str2
+    ++ "' at "
+    ++ renderPos pos
+    ++ render_expecting strs
+renderError (DeletedAtEnd str) =
+  "Deleted '"
+    ++ str
+    ++ "' at the end of the Lua file because the parser doesn't know what to do with it."
+
+render_expecting :: [String] -> String
+render_expecting [a] = "Parser expected a " ++ a
+render_expecting (a : as) = "Parser expected one of [" ++ a ++ concat (map (", " ++) as) ++ "]"
+render_expecting [] = "Parser expected nothing"
+
+renderPSError :: ParseError -> String
+renderPSError ps =
+  map replNL
+    . showErrorMessages
+      "or"
+      "unknown parse error"
+      "expecting"
+      "unexpected"
+      "end of input"
+    . errorMessages
+    $ ps
+  where
+    replNL '\n' = ' '
+    replNL c = c
+
+-- | Render comments on multiple lines
+renderMLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc
+renderMLComments conf ind toks =
+  foldl' ($+$) empty . map (indent conf ind . tok . convertComment conf) $ toks
+
+-- | Render comments, and prefer having them on a single line. It may not print comments on the same
+-- line if that would cause a syntax error (e.g. a multiline comment after a single line comment)
+renderSLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc
+renderSLComments conf ind toks = foldl' combine empty . map (convertComment conf) $ toks
+  where
+    combine :: Doc -> MToken -> Doc
+    combine acc mt@(MToken _pos t) =
+      case t of
+        -- Block comments after single line comments cannot be printed on the same line, as that
+        -- would cause a syntax error, e.g. in this case:
+
+        -- foo = { -- single line comment
+        -- --[[multiline
+        -- comment
+        -- ]]
+        -- }
+        -- Make sure in these cases the comment is printed on a new line, rather than on the
+        -- same line
+        DashBlockComment _depth comment
+          | '\n' `elem` comment ->
+              acc $+$ (indent conf ind $ tok mt)
+        SlashBlockComment comment
+          | '\n' `elem` comment ->
+              acc $+$ (indent conf ind $ tok mt)
+        _ -> acc <-> tok mt
+
+convertComment :: PrettyPrintConfig -> MToken -> MToken
+convertComment conf (MToken p t) = MToken p $ convert' t
+  where
+    convert' :: Token -> Token
+    convert' = if cStyle conf then cComment else luaComment
+
+    luaComment :: Token -> Token
+    luaComment (SlashComment s) = DashComment s
+    luaComment (SlashBlockComment s) = DashBlockComment (lastBracket s) s
+    luaComment t' = t'
+
+    -- converting /*]*/ would end up in --[[]]] when plainly converted
+    -- Deepen the block comment by 1 if that's the case
+    lastBracket :: String -> Int
+    lastBracket [] = 0
+    lastBracket s = if last s == ']' then 1 else 0
+
+    cComment :: Token -> Token
+    cComment (DashComment s) = SlashComment s
+    cComment (DashBlockComment _ s) = SlashBlockComment s
+    cComment t' = t'
+
+indent :: PrettyPrintConfig -> Int -> Doc -> Doc
+indent conf n = (<>) $ zeroWidthText (concat . replicate n $ indentation conf)
+
+parens :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc
+parens conf ie doc = zchr '(' `sep'` doc `sep'` zchr ')'
+  where
+    sep' :: Doc -> Doc -> Doc
+    sep' =
+      if spaceAfterParens conf && (not (fromEmpty ie) || spaceEmptyParens conf)
+        then (<->)
+        else (<>)
+
+brackets :: PrettyPrintConfig -> Doc -> Doc
+brackets conf doc = zchr '[' `sep'` doc `sep'` zchr ']'
+  where
+    sep' :: Doc -> Doc -> Doc
+    sep' = if spaceAfterBrackets conf then (<->) else (<>)
+
+braces :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc
+braces conf ie doc = zchr '{' `sep'` doc `sep'` zchr '}'
+  where
+    sep' :: Doc -> Doc -> Doc
+    sep' =
+      if spaceAfterBraces conf && (not (fromEmpty ie) || spaceEmptyBraces conf)
+        then (<->)
+        else (<>)
+
+-- Zero width char
+zchr :: Char -> Doc
+zchr c = zeroWidthText [c]
+
+-- Zero width <+>
+infixl 6 <->
+(<->) :: Doc -> Doc -> Doc
+a <-> b
+  | a == empty = b
+  | b == empty = a
+  | otherwise = a <> zchr ' ' <> b
+
+-- Operator levels, where level 1 is the lowest level, and level 8 is the highest one
+-- See http://www.lua.org/manual/5.2/manual.html#3.4.7
+data OperatorLevel
+  = -- At the top level, there is no assigned operator level yet. This serves as a bottom value.
+    TopLevelExpression
+  | OperatorLevel1
+  | OperatorLevel2
+  | OperatorLevel3
+  | OperatorLevel4
+  | OperatorLevel5
+  | OperatorLevel6
+  | OperatorLevel7
+  | OperatorLevel8
+  deriving (Eq, Ord)
+
+-- | Returns true when any of the comments contain the string "format: multiline"
+commentsForceMultiline :: [MToken] -> Bool
+commentsForceMultiline commentTokens = any containsFormatMultiline commentTokens
+  where
+    containsFormatMultiline :: MToken -> Bool
+    containsFormatMultiline (MToken _pos t) = case t of
+      DashComment comment -> stringForcesFormat comment
+      DashBlockComment _ comment -> stringForcesFormat comment
+      SlashComment comment -> stringForcesFormat comment
+      SlashBlockComment comment -> stringForcesFormat comment
+      _ -> False
+
+    stringForcesFormat :: String -> Bool
+    stringForcesFormat s = "format: multiline" `isInfixOf` s
+
+{-# LINE 304 "src/GLua/AG/PrettyPrint.hs" #-}
+
+{-# LINE 1235 "src/GLua/AG/PrettyPrint.ag" #-}
+
+pp_block :: Block -> Int -> Doc
+pp_block p i = pretty_Syn_Block (wrap_Block (sem_Block p) (emptyInh_Block{indent_Inh_Block = i}))
+
+pp_mstat :: MStat -> Int -> Doc
+pp_mstat p i = pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat{indent_Inh_MStat = i})
+
+pp_prefixexp :: PrefixExp -> Doc
+pp_prefixexp p = pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)
+
+pp_pfexprsuffix :: PFExprSuffix -> Doc
+pp_pfexprsuffix p =
+  pretty_Syn_PFExprSuffix (wrap_PFExprSuffix (sem_PFExprSuffix p) emptyInh_PFExprSuffix)
+
+pp_field :: Field -> Doc
+pp_field p = pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)
+
+pp_mexpr :: MExpr -> Doc
+pp_mexpr p = pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)
+
+prettyprint :: AST -> String
+prettyprint p = render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST)
+
+prettyprintConf :: PrettyPrintConfig -> AST -> String
+prettyprintConf conf p =
+  render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST{ppconf_Inh_AST = conf})
+
+renderBlock :: Block -> String
+renderBlock p = render $ pretty_Syn_Block (wrap_Block (sem_Block p) emptyInh_Block)
+
+renderStat :: Stat -> String
+renderStat p = render $ pretty_Syn_Stat (wrap_Stat (sem_Stat p) emptyInh_Stat)
+
+renderMStat :: MStat -> String
+renderMStat p = render $ pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat)
+
+renderAReturn :: AReturn -> String
+renderAReturn p = render $ pretty_Syn_AReturn (wrap_AReturn (sem_AReturn p) emptyInh_AReturn)
+
+renderFuncName :: FuncName -> String
+renderFuncName p = render $ pretty_Syn_FuncName (wrap_FuncName (sem_FuncName p) emptyInh_FuncName)
+
+renderPrefixExp :: PrefixExp -> String
+renderPrefixExp p =
+  render $ pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)
+
+renderExpr :: Expr -> String
+renderExpr p = render $ pretty_Syn_Expr (wrap_Expr (sem_Expr p) emptyInh_Expr)
+
+renderMExpr :: MExpr -> String
+renderMExpr p = render $ pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)
+
+renderArgs :: Args -> String
+renderArgs p = render $ pretty_Syn_Args (wrap_Args (sem_Args p) emptyInh_Args)
+
+renderField :: Field -> String
+renderField p = render $ pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)
+
+emptyInh_Field :: Inh_Field
+emptyInh_Field =
+  Inh_Field
+    { comments_Inh_Field = []
+    , forceMultiline_Inh_Field = False
+    , indent_Inh_Field = 0
+    , ppconf_Inh_Field = defaultPPConfig
+    }
+
+emptyInh_Args :: Inh_Args
+emptyInh_Args =
+  Inh_Args
+    { comments_Inh_Args = []
+    , forceMultiline_Inh_Args = False
+    , indent_Inh_Args = 0
+    , ppconf_Inh_Args = defaultPPConfig
+    }
+
+emptyInh_MExpr :: Inh_MExpr
+emptyInh_MExpr =
+  Inh_MExpr
+    { comments_Inh_MExpr = []
+    , forceMultiline_Inh_MExpr = False
+    , indent_Inh_MExpr = 0
+    , parentOperatorAssociative_Inh_MExpr = True
+    , parentOperatorPrecedence_Inh_MExpr = TopLevelExpression
+    , ppconf_Inh_MExpr = defaultPPConfig
+    }
+
+emptyInh_Expr :: Inh_Expr
+emptyInh_Expr =
+  Inh_Expr
+    { comments_Inh_Expr = []
+    , forceMultiline_Inh_Expr = False
+    , indent_Inh_Expr = 0
+    , parentOperatorAssociative_Inh_Expr = True
+    , parentOperatorPrecedence_Inh_Expr = TopLevelExpression
+    , ppconf_Inh_Expr = defaultPPConfig
+    , statRegion_Inh_Expr = emptyRg
+    }
+
+emptyInh_PrefixExp :: Inh_PrefixExp
+emptyInh_PrefixExp =
+  Inh_PrefixExp
+    { comments_Inh_PrefixExp = []
+    , forceMultiline_Inh_PrefixExp = False
+    , indent_Inh_PrefixExp = 0
+    , parentOperatorAssociative_Inh_PrefixExp = True
+    , parentOperatorPrecedence_Inh_PrefixExp = TopLevelExpression
+    , ppconf_Inh_PrefixExp = defaultPPConfig
+    }
+
+emptyInh_FuncName :: Inh_FuncName
+emptyInh_FuncName =
+  Inh_FuncName
+    { comments_Inh_FuncName = []
+    , indent_Inh_FuncName = 0
+    , ppconf_Inh_FuncName = defaultPPConfig
+    }
+
+emptyInh_AReturn :: Inh_AReturn
+emptyInh_AReturn =
+  Inh_AReturn
+    { comments_Inh_AReturn = []
+    , forceMultiline_Inh_AReturn = False
+    , indent_Inh_AReturn = 0
+    , ppconf_Inh_AReturn = defaultPPConfig
+    }
+
+emptyInh_MStat :: Inh_MStat
+emptyInh_MStat =
+  Inh_MStat
+    { comments_Inh_MStat = []
+    , forceMultiline_Inh_MStat = False
+    , indent_Inh_MStat = 0
+    , isLastStatement_Inh_MStat = False
+    , ppconf_Inh_MStat = defaultPPConfig
+    , wouldBeAmbiguousWithoutSemicolon_Inh_MStat = False
+    }
+
+emptyInh_Stat :: Inh_Stat
+emptyInh_Stat =
+  Inh_Stat
+    { comments_Inh_Stat = []
+    , forceMultiline_Inh_Stat = False
+    , indent_Inh_Stat = 0
+    , isLastStatement_Inh_Stat = False
+    , ppconf_Inh_Stat = defaultPPConfig
+    , statRegion_Inh_Stat = emptyRg
+    , wouldBeAmbiguousWithoutSemicolon_Inh_Stat = False
+    }
+
+emptyInh_Block :: Inh_Block
+emptyInh_Block =
+  Inh_Block
+    { comments_Inh_Block = []
+    , forceMultiline_Inh_Block = False
+    , indent_Inh_Block = 0
+    , ppconf_Inh_Block = defaultPPConfig
+    , statRegion_Inh_Block = emptyRg
+    }
+
+emptyInh_AST :: Inh_AST
+emptyInh_AST =
+  Inh_AST
+    { indent_Inh_AST = 0
+    , ppconf_Inh_AST = defaultPPConfig
+    }
+
+emptyInh_PFExprSuffix :: Inh_PFExprSuffix
+emptyInh_PFExprSuffix =
+  Inh_PFExprSuffix
+    { comments_Inh_PFExprSuffix = []
+    , forceMultiline_Inh_PFExprSuffix = False
+    , indent_Inh_PFExprSuffix = 0
+    , ppconf_Inh_PFExprSuffix = defaultPPConfig
+    }
+
+{-# LINE 484 "src/GLua/AG/PrettyPrint.hs" #-}
+-- AReturn -----------------------------------------------------
+-- cata
+sem_AReturn
+  :: AReturn
+  -> T_AReturn
+sem_AReturn (AReturn _pos _values) =
+  (sem_AReturn_AReturn _pos (sem_MExprList _values))
+sem_AReturn (NoReturn) =
+  (sem_AReturn_NoReturn)
+
+-- semantic domain
+type T_AReturn =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), AReturn, Bool, Doc, Int)
+data Inh_AReturn = Inh_AReturn {comments_Inh_AReturn :: ([MToken]), forceMultiline_Inh_AReturn :: Bool, indent_Inh_AReturn :: Int, ppconf_Inh_AReturn :: PrettyPrintConfig}
+data Syn_AReturn = Syn_AReturn {comments_Syn_AReturn :: ([MToken]), copy_Syn_AReturn :: AReturn, isMultiline_Syn_AReturn :: Bool, pretty_Syn_AReturn :: Doc, statementCount_Syn_AReturn :: Int}
+wrap_AReturn
+  :: T_AReturn
+  -> Inh_AReturn
+  -> Syn_AReturn
+wrap_AReturn sem (Inh_AReturn _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_AReturn _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty _lhsOstatementCount)
+  )
+sem_AReturn_AReturn
+  :: Region
+  -> T_MExprList
+  -> T_AReturn
+sem_AReturn_AReturn pos_ values_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _valuesOcomments :: ([MToken])
+            _lhsOcomments :: ([MToken])
+            _valuesOforceMultiline :: Bool
+            _valuesOsomeElementsInListAreMultiline :: Bool
+            _lhsOstatementCount :: Int
+            _lhsOcopy :: AReturn
+            _valuesOindent :: Int
+            _valuesOppconf :: PrettyPrintConfig
+            _valuesIcomments :: ([MToken])
+            _valuesIcopy :: MExprList
+            _valuesIisAssociative :: Bool
+            _valuesIisLast :: Bool
+            _valuesIisMultiline :: Bool
+            _valuesIpos :: Region
+            _valuesIprecedence :: OperatorLevel
+            _valuesIpretty :: Doc
+            _lhsOpretty =
+              ( renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore)
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "return")
+                    <-> _valuesIpretty
+                    <> _semicolon
+                      <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)
+              )
+            _lhsOisMultiline =
+              ( _valuesIisMultiline
+                  || not (null $ fst _commentsBefore)
+                  || not (null $ fst _commentsAfter)
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf then zchr ';' else empty
+              )
+            _commentsBefore =
+              ( span (\(MToken pos _) -> pos `before` pos_) _lhsIcomments
+              )
+            _valuesOcomments =
+              ( snd _commentsBefore
+              )
+            _commentsAfter =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` (rgOr _valuesIpos pos_)) _valuesIcomments
+              )
+            _lhsOcomments =
+              ( snd _commentsAfter
+              )
+            _valuesOforceMultiline =
+              ( False
+              )
+            _valuesOsomeElementsInListAreMultiline =
+              ( False
+              )
+            _lhsOstatementCount =
+              ( 1
+              )
+            _copy =
+              ( AReturn pos_ _valuesIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _valuesOindent =
+              ( _lhsIindent
+              )
+            _valuesOppconf =
+              ( _lhsIppconf
+              )
+            (_valuesIcomments, _valuesIcopy, _valuesIisAssociative, _valuesIisLast, _valuesIisMultiline, _valuesIpos, _valuesIprecedence, _valuesIpretty) =
+              values_ _valuesOcomments _valuesOforceMultiline _valuesOindent _valuesOppconf _valuesOsomeElementsInListAreMultiline
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount)
+        )
+  )
+sem_AReturn_NoReturn :: T_AReturn
+sem_AReturn_NoReturn =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstatementCount :: Int
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: AReturn
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOstatementCount =
+              ( 0
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _copy =
+              ( NoReturn
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount)
+        )
+  )
+
+-- AST ---------------------------------------------------------
+-- cata
+sem_AST
+  :: AST
+  -> T_AST
+sem_AST (AST _comments _chunk) =
+  (sem_AST_AST _comments (sem_Block _chunk))
+
+-- semantic domain
+type T_AST =
+  Int
+  -> PrettyPrintConfig
+  -> (AST, Bool, Doc)
+data Inh_AST = Inh_AST {indent_Inh_AST :: Int, ppconf_Inh_AST :: PrettyPrintConfig}
+data Syn_AST = Syn_AST {copy_Syn_AST :: AST, isMultiline_Syn_AST :: Bool, pretty_Syn_AST :: Doc}
+wrap_AST
+  :: T_AST
+  -> Inh_AST
+  -> Syn_AST
+wrap_AST sem (Inh_AST _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIindent _lhsIppconf
+    in
+      (Syn_AST _lhsOcopy _lhsOisMultiline _lhsOpretty)
+  )
+sem_AST_AST
+  :: ([MToken])
+  -> T_Block
+  -> T_AST
+sem_AST_AST comments_ chunk_ =
+  ( \_lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _chunkOcomments :: ([MToken])
+            _chunkOstatRegion :: Region
+            _chunkOforceMultiline :: Bool
+            _lhsOcopy :: AST
+            _chunkOindent :: Int
+            _chunkOppconf :: PrettyPrintConfig
+            _chunkIcomments :: ([MToken])
+            _chunkIcopy :: Block
+            _chunkIisMultiline :: Bool
+            _chunkIpretty :: Doc
+            _chunkIstatementCount :: Int
+            _lhsOpretty =
+              ( _chunkIpretty $+$ _prettyComments
+              )
+            _lhsOisMultiline =
+              ( _chunkIisMultiline
+              )
+            _prettyComments =
+              ( renderMLComments _lhsIppconf _lhsIindent _chunkIcomments
+              )
+            _chunkOcomments =
+              ( comments_
+              )
+            _chunkOstatRegion =
+              ( emptyRg
+              )
+            _chunkOforceMultiline =
+              ( False
+              )
+            _copy =
+              ( AST comments_ _chunkIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _chunkOindent =
+              ( _lhsIindent
+              )
+            _chunkOppconf =
+              ( _lhsIppconf
+              )
+            (_chunkIcomments, _chunkIcopy, _chunkIisMultiline, _chunkIpretty, _chunkIstatementCount) =
+              chunk_ _chunkOcomments _chunkOforceMultiline _chunkOindent _chunkOppconf _chunkOstatRegion
+          in
+            (_lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+
+-- Args --------------------------------------------------------
+-- cata
+sem_Args
+  :: Args
+  -> T_Args
+sem_Args (ListArgs _args) =
+  (sem_Args_ListArgs (sem_MExprList _args))
+sem_Args (TableArg _arg) =
+  (sem_Args_TableArg (sem_FieldList _arg))
+sem_Args (StringArg _arg) =
+  (sem_Args_StringArg _arg)
+
+-- semantic domain
+type T_Args =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), Args, Bool, Doc)
+data Inh_Args = Inh_Args {comments_Inh_Args :: ([MToken]), forceMultiline_Inh_Args :: Bool, indent_Inh_Args :: Int, ppconf_Inh_Args :: PrettyPrintConfig}
+data Syn_Args = Syn_Args {comments_Syn_Args :: ([MToken]), copy_Syn_Args :: Args, isMultiline_Syn_Args :: Bool, pretty_Syn_Args :: Doc}
+wrap_Args
+  :: T_Args
+  -> Inh_Args
+  -> Syn_Args
+wrap_Args sem (Inh_Args _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_Args _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty)
+  )
+sem_Args_ListArgs
+  :: T_MExprList
+  -> T_Args
+sem_Args_ListArgs args_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _argsOindent :: Int
+            _argsOsomeElementsInListAreMultiline :: Bool
+            _lhsOcopy :: Args
+            _lhsOcomments :: ([MToken])
+            _argsOcomments :: ([MToken])
+            _argsOforceMultiline :: Bool
+            _argsOppconf :: PrettyPrintConfig
+            _argsIcomments :: ([MToken])
+            _argsIcopy :: MExprList
+            _argsIisAssociative :: Bool
+            _argsIisLast :: Bool
+            _argsIisMultiline :: Bool
+            _argsIpos :: Region
+            _argsIprecedence :: OperatorLevel
+            _argsIpretty :: Doc
+            _lhsOpretty =
+              ( if _argsIisMultiline
+                  then
+                    zchr '('
+                      $+$ _argsIpretty
+                      $+$ indent _lhsIppconf _lhsIindent (zchr ')')
+                  else parens _lhsIppconf _emptyParams _argsIpretty
+              )
+            _lhsOisMultiline =
+              ( _argsIisMultiline
+              )
+            _emptyParams =
+              ( toEmpty $ null _argsIcopy
+              )
+            _argsOindent =
+              ( if _argsIisMultiline then _lhsIindent + 1 else 0
+              )
+            _argsOsomeElementsInListAreMultiline =
+              ( False
+              )
+            _copy =
+              ( ListArgs _argsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _argsIcomments
+              )
+            _argsOcomments =
+              ( _lhsIcomments
+              )
+            _argsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _argsOppconf =
+              ( _lhsIppconf
+              )
+            (_argsIcomments, _argsIcopy, _argsIisAssociative, _argsIisLast, _argsIisMultiline, _argsIpos, _argsIprecedence, _argsIpretty) =
+              args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf _argsOsomeElementsInListAreMultiline
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+sem_Args_TableArg
+  :: T_FieldList
+  -> T_Args
+sem_Args_TableArg arg_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _argOindent :: Int
+            _argOsomeElementsInListAreMultiline :: Bool
+            _lhsOcopy :: Args
+            _lhsOcomments :: ([MToken])
+            _argOcomments :: ([MToken])
+            _argOforceMultiline :: Bool
+            _argOppconf :: PrettyPrintConfig
+            _argIcomments :: ([MToken])
+            _argIcopy :: FieldList
+            _argIisMultiline :: Bool
+            _argIisNil :: Bool
+            _argIpretty :: Doc
+            _lhsOpretty =
+              ( if _argIisMultiline then _prettyMulti else _prettySingle
+              )
+            _lhsOisMultiline =
+              ( _argIisMultiline
+              )
+            _prettyMulti =
+              ( zchr '{' $+$ _argIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')
+              )
+            _prettySingle =
+              ( braces _lhsIppconf _emptyContents _argIpretty
+              )
+            _emptyContents =
+              ( toEmpty $ null _argIcopy
+              )
+            _argOindent =
+              ( _lhsIindent + (if _argIisMultiline then 1 else 0)
+              )
+            _argOsomeElementsInListAreMultiline =
+              ( False
+              )
+            _copy =
+              ( TableArg _argIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _argIcomments
+              )
+            _argOcomments =
+              ( _lhsIcomments
+              )
+            _argOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _argOppconf =
+              ( _lhsIppconf
+              )
+            (_argIcomments, _argIcopy, _argIisMultiline, _argIisNil, _argIpretty) =
+              arg_ _argOcomments _argOforceMultiline _argOindent _argOppconf _argOsomeElementsInListAreMultiline
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+sem_Args_StringArg
+  :: MToken
+  -> T_Args
+sem_Args_StringArg arg_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Args
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( tok arg_
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _copy =
+              ( StringArg arg_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+
+-- BinOp -------------------------------------------------------
+-- cata
+sem_BinOp
+  :: BinOp
+  -> T_BinOp
+sem_BinOp (AOr) =
+  (sem_BinOp_AOr)
+sem_BinOp (AAnd) =
+  (sem_BinOp_AAnd)
+sem_BinOp (ALT) =
+  (sem_BinOp_ALT)
+sem_BinOp (AGT) =
+  (sem_BinOp_AGT)
+sem_BinOp (ALEQ) =
+  (sem_BinOp_ALEQ)
+sem_BinOp (AGEQ) =
+  (sem_BinOp_AGEQ)
+sem_BinOp (ANEq) =
+  (sem_BinOp_ANEq)
+sem_BinOp (AEq) =
+  (sem_BinOp_AEq)
+sem_BinOp (AConcatenate) =
+  (sem_BinOp_AConcatenate)
+sem_BinOp (APlus) =
+  (sem_BinOp_APlus)
+sem_BinOp (BinMinus) =
+  (sem_BinOp_BinMinus)
+sem_BinOp (AMultiply) =
+  (sem_BinOp_AMultiply)
+sem_BinOp (ADivide) =
+  (sem_BinOp_ADivide)
+sem_BinOp (AModulus) =
+  (sem_BinOp_AModulus)
+sem_BinOp (APower) =
+  (sem_BinOp_APower)
+
+-- semantic domain
+type T_BinOp =
+  ([MToken])
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), BinOp, Bool, Bool, OperatorLevel, Doc)
+data Inh_BinOp = Inh_BinOp {comments_Inh_BinOp :: ([MToken]), indent_Inh_BinOp :: Int, ppconf_Inh_BinOp :: PrettyPrintConfig}
+data Syn_BinOp = Syn_BinOp {comments_Syn_BinOp :: ([MToken]), copy_Syn_BinOp :: BinOp, isAssociative_Syn_BinOp :: Bool, isMultiline_Syn_BinOp :: Bool, precedence_Syn_BinOp :: OperatorLevel, pretty_Syn_BinOp :: Doc}
+wrap_BinOp
+  :: T_BinOp
+  -> Inh_BinOp
+  -> Syn_BinOp
+wrap_BinOp sem (Inh_BinOp _lhsIcomments _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf
+    in
+      (Syn_BinOp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty)
+  )
+sem_BinOp_AOr :: T_BinOp
+sem_BinOp_AOr =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText (if cStyle _lhsIppconf then "||" else "or")
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel1
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AOr
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AAnd :: T_BinOp
+sem_BinOp_AAnd =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText (if cStyle _lhsIppconf then "&&" else "and")
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel2
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AAnd
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_ALT :: T_BinOp
+sem_BinOp_ALT =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "<"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel3
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( ALT
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AGT :: T_BinOp
+sem_BinOp_AGT =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText ">"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel3
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AGT
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_ALEQ :: T_BinOp
+sem_BinOp_ALEQ =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "<="
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel3
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( ALEQ
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AGEQ :: T_BinOp
+sem_BinOp_AGEQ =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText ">="
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel3
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AGEQ
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_ANEq :: T_BinOp
+sem_BinOp_ANEq =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText (if cStyle _lhsIppconf then "!=" else "~=")
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel3
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( ANEq
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AEq :: T_BinOp
+sem_BinOp_AEq =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "=="
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel3
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AEq
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AConcatenate :: T_BinOp
+sem_BinOp_AConcatenate =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText ".."
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel4
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AConcatenate
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_APlus :: T_BinOp
+sem_BinOp_APlus =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "+"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel5
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( APlus
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_BinMinus :: T_BinOp
+sem_BinOp_BinMinus =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "-"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel5
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _copy =
+              ( BinMinus
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AMultiply :: T_BinOp
+sem_BinOp_AMultiply =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "*"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel6
+              )
+            _lhsOisAssociative =
+              ( True
+              )
+            _copy =
+              ( AMultiply
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_ADivide :: T_BinOp
+sem_BinOp_ADivide =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "/"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel6
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _copy =
+              ( ADivide
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_AModulus :: T_BinOp
+sem_BinOp_AModulus =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "%"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel6
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _copy =
+              ( AModulus
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_BinOp_APower :: T_BinOp
+sem_BinOp_APower =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: BinOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "^"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _copy =
+              ( APower
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- Block -------------------------------------------------------
+-- cata
+sem_Block
+  :: Block
+  -> T_Block
+sem_Block (Block _stats _ret) =
+  (sem_Block_Block (sem_MStatList _stats) (sem_AReturn _ret))
+
+-- semantic domain
+type T_Block =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> Region
+  -> (([MToken]), Block, Bool, Doc, Int)
+data Inh_Block = Inh_Block {comments_Inh_Block :: ([MToken]), forceMultiline_Inh_Block :: Bool, indent_Inh_Block :: Int, ppconf_Inh_Block :: PrettyPrintConfig, statRegion_Inh_Block :: Region}
+data Syn_Block = Syn_Block {comments_Syn_Block :: ([MToken]), copy_Syn_Block :: Block, isMultiline_Syn_Block :: Bool, pretty_Syn_Block :: Doc, statementCount_Syn_Block :: Int}
+wrap_Block
+  :: T_Block
+  -> Inh_Block
+  -> Syn_Block
+wrap_Block sem (Inh_Block _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
+    in
+      (Syn_Block _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty _lhsOstatementCount)
+  )
+sem_Block_Block
+  :: T_MStatList
+  -> T_AReturn
+  -> T_Block
+sem_Block_Block stats_ ret_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstatementCount :: Int
+            _lhsOcopy :: Block
+            _lhsOcomments :: ([MToken])
+            _lhsOisMultiline :: Bool
+            _statsOcomments :: ([MToken])
+            _statsOforceMultiline :: Bool
+            _statsOindent :: Int
+            _statsOppconf :: PrettyPrintConfig
+            _statsOstatRegion :: Region
+            _retOcomments :: ([MToken])
+            _retOforceMultiline :: Bool
+            _retOindent :: Int
+            _retOppconf :: PrettyPrintConfig
+            _statsIcomments :: ([MToken])
+            _statsIcopy :: MStatList
+            _statsIisLast :: Bool
+            _statsIisMultiline :: Bool
+            _statsIpretty :: Doc
+            _statsIstartsWithExprPrefixExpression :: Bool
+            _statsIstatementCount :: Int
+            _retIcomments :: ([MToken])
+            _retIcopy :: AReturn
+            _retIisMultiline :: Bool
+            _retIpretty :: Doc
+            _retIstatementCount :: Int
+            _lhsOpretty =
+              ( if _isMultiline
+                  then _statsIpretty $+$ _retIpretty
+                  else _statsIpretty <-> _retIpretty
+              )
+            _statementCount =
+              ( _statsIstatementCount + _retIstatementCount
+              )
+            _isMultiline =
+              ( _statsIisMultiline || _retIisMultiline || _statementCount > 1
+              )
+            _lhsOstatementCount =
+              ( _statementCount
+              )
+            _copy =
+              ( Block _statsIcopy _retIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _retIcomments
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _statsOcomments =
+              ( _lhsIcomments
+              )
+            _statsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _statsOindent =
+              ( _lhsIindent
+              )
+            _statsOppconf =
+              ( _lhsIppconf
+              )
+            _statsOstatRegion =
+              ( _lhsIstatRegion
+              )
+            _retOcomments =
+              ( _statsIcomments
+              )
+            _retOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _retOindent =
+              ( _lhsIindent
+              )
+            _retOppconf =
+              ( _lhsIppconf
+              )
+            (_statsIcomments, _statsIcopy, _statsIisLast, _statsIisMultiline, _statsIpretty, _statsIstartsWithExprPrefixExpression, _statsIstatementCount) =
+              stats_ _statsOcomments _statsOforceMultiline _statsOindent _statsOppconf _statsOstatRegion
+            (_retIcomments, _retIcopy, _retIisMultiline, _retIpretty, _retIstatementCount) =
+              ret_ _retOcomments _retOforceMultiline _retOindent _retOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount)
+        )
+  )
+
+-- Declaration -------------------------------------------------
+-- cata
+sem_Declaration
+  :: Declaration
+  -> T_Declaration
+sem_Declaration (x1, x2) =
+  (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))
+
+-- semantic domain
+type T_Declaration =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), Declaration, Bool, Doc, Bool, Bool, Doc, Bool, Doc)
+data Inh_Declaration = Inh_Declaration {comments_Inh_Declaration :: ([MToken]), forceMultiline_Inh_Declaration :: Bool, indent_Inh_Declaration :: Int, ppconf_Inh_Declaration :: PrettyPrintConfig}
+data Syn_Declaration = Syn_Declaration {comments_Syn_Declaration :: ([MToken]), copy_Syn_Declaration :: Declaration, endsWithPrefixExpression_Syn_Declaration :: Bool, exprPretty_Syn_Declaration :: Doc, isDefined_Syn_Declaration :: Bool, isMultiline_Syn_Declaration :: Bool, pretty_Syn_Declaration :: Doc, startsWithExprPrefixExpression_Syn_Declaration :: Bool, varPretty_Syn_Declaration :: Doc}
+wrap_Declaration
+  :: T_Declaration
+  -> Inh_Declaration
+  -> Syn_Declaration
+wrap_Declaration sem (Inh_Declaration _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_Declaration _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty)
+  )
+sem_Declaration_Tuple
+  :: T_PrefixExp
+  -> T_MaybeMExpr
+  -> T_Declaration
+sem_Declaration_Tuple x1_ x2_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOvarPretty :: Doc
+            _lhsOexprPretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _x1OparentOperatorPrecedence :: OperatorLevel
+            _x1OparentOperatorAssociative :: Bool
+            _lhsOisDefined :: Bool
+            _lhsOcopy :: Declaration
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty :: Doc
+            _x1Ocomments :: ([MToken])
+            _x1OforceMultiline :: Bool
+            _x1Oindent :: Int
+            _x1Oppconf :: PrettyPrintConfig
+            _x2Ocomments :: ([MToken])
+            _x2OforceMultiline :: Bool
+            _x2Oindent :: Int
+            _x2Oppconf :: PrettyPrintConfig
+            _x1Icomments :: ([MToken])
+            _x1Icopy :: PrefixExp
+            _x1IisAssociative :: Bool
+            _x1IisLiteral :: Bool
+            _x1IisMultiline :: Bool
+            _x1Iprecedence :: OperatorLevel
+            _x1Ipretty :: Doc
+            _x1IstartsWithExprPrefixExpression :: Bool
+            _x2Icomments :: ([MToken])
+            _x2Icopy :: MaybeMExpr
+            _x2IendsWithPrefixExpression :: Bool
+            _x2IisAssociative :: Bool
+            _x2IisDefined :: Bool
+            _x2IisMultiline :: Bool
+            _x2Iprecedence :: OperatorLevel
+            _x2Ipretty :: Doc
+            _lhsOvarPretty =
+              ( _x1Ipretty
+              )
+            _lhsOexprPretty =
+              ( _x2Ipretty
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _x1IstartsWithExprPrefixExpression
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _x2IendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _x1IisMultiline || _x2IisMultiline
+              )
+            _x1OparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _x1OparentOperatorAssociative =
+              ( True
+              )
+            _lhsOisDefined =
+              ( _x2IisDefined
+              )
+            _copy =
+              ( (_x1Icopy, _x2Icopy)
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _x2Icomments
+              )
+            _lhsOpretty =
+              ( _x2Ipretty
+              )
+            _x1Ocomments =
+              ( _lhsIcomments
+              )
+            _x1OforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _x1Oindent =
+              ( _lhsIindent
+              )
+            _x1Oppconf =
+              ( _lhsIppconf
+              )
+            _x2Ocomments =
+              ( _x1Icomments
+              )
+            _x2OforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _x2Oindent =
+              ( _lhsIindent
+              )
+            _x2Oppconf =
+              ( _lhsIppconf
+              )
+            (_x1Icomments, _x1Icopy, _x1IisAssociative, _x1IisLiteral, _x1IisMultiline, _x1Iprecedence, _x1Ipretty, _x1IstartsWithExprPrefixExpression) =
+              x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf
+            (_x2Icomments, _x2Icopy, _x2IendsWithPrefixExpression, _x2IisAssociative, _x2IisDefined, _x2IisMultiline, _x2Iprecedence, _x2Ipretty) =
+              x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty)
+        )
+  )
+
+-- Else --------------------------------------------------------
+-- cata
+sem_Else
+  :: Else
+  -> T_Else
+sem_Else (Prelude.Just x) =
+  (sem_Else_Just (sem_MElse x))
+sem_Else Prelude.Nothing =
+  sem_Else_Nothing
+
+-- semantic domain
+type T_Else =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> Region
+  -> (([MToken]), Else, Bool, Bool, Region, Doc)
+data Inh_Else = Inh_Else {comments_Inh_Else :: ([MToken]), forceMultiline_Inh_Else :: Bool, indent_Inh_Else :: Int, ppconf_Inh_Else :: PrettyPrintConfig, statRegion_Inh_Else :: Region}
+data Syn_Else = Syn_Else {comments_Syn_Else :: ([MToken]), copy_Syn_Else :: Else, elsesExist_Syn_Else :: Bool, isMultiline_Syn_Else :: Bool, pos_Syn_Else :: Region, pretty_Syn_Else :: Doc}
+wrap_Else
+  :: T_Else
+  -> Inh_Else
+  -> Syn_Else
+wrap_Else sem (Inh_Else _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
+    in
+      (Syn_Else _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty)
+  )
+sem_Else_Just
+  :: T_MElse
+  -> T_Else
+sem_Else_Just just_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOelsesExist :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Else
+            _lhsOcomments :: ([MToken])
+            _lhsOpos :: Region
+            _lhsOpretty :: Doc
+            _justOcomments :: ([MToken])
+            _justOforceMultiline :: Bool
+            _justOindent :: Int
+            _justOppconf :: PrettyPrintConfig
+            _justOstatRegion :: Region
+            _justIcomments :: ([MToken])
+            _justIcopy :: MElse
+            _justIelsesExist :: Bool
+            _justIisMultiline :: Bool
+            _justIpos :: Region
+            _justIpretty :: Doc
+            _lhsOelsesExist =
+              ( True
+              )
+            _lhsOisMultiline =
+              ( _justIisMultiline
+              )
+            _copy =
+              ( Just _justIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _justIcomments
+              )
+            _lhsOpos =
+              ( _justIpos
+              )
+            _lhsOpretty =
+              ( _justIpretty
+              )
+            _justOcomments =
+              ( _lhsIcomments
+              )
+            _justOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _justOindent =
+              ( _lhsIindent
+              )
+            _justOppconf =
+              ( _lhsIppconf
+              )
+            _justOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_justIcomments, _justIcopy, _justIelsesExist, _justIisMultiline, _justIpos, _justIpretty) =
+              just_ _justOcomments _justOforceMultiline _justOindent _justOppconf _justOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+sem_Else_Nothing :: T_Else
+sem_Else_Nothing =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOpos :: Region
+            _lhsOisMultiline :: Bool
+            _lhsOelsesExist :: Bool
+            _lhsOcopy :: Else
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOpos =
+              ( emptyRg
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOelsesExist =
+              ( False
+              )
+            _copy =
+              ( Nothing
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+
+-- ElseIf ------------------------------------------------------
+-- cata
+sem_ElseIf
+  :: ElseIf
+  -> T_ElseIf
+sem_ElseIf (x1, x2) =
+  (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))
+
+-- semantic domain
+type T_ElseIf =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), ElseIf, Bool, Doc)
+data Inh_ElseIf = Inh_ElseIf {comments_Inh_ElseIf :: ([MToken]), forceMultiline_Inh_ElseIf :: Bool, indent_Inh_ElseIf :: Int, ppconf_Inh_ElseIf :: PrettyPrintConfig}
+data Syn_ElseIf = Syn_ElseIf {comments_Syn_ElseIf :: ([MToken]), copy_Syn_ElseIf :: ElseIf, isMultiline_Syn_ElseIf :: Bool, pretty_Syn_ElseIf :: Doc}
+wrap_ElseIf
+  :: T_ElseIf
+  -> Inh_ElseIf
+  -> Syn_ElseIf
+wrap_ElseIf sem (Inh_ElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_ElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty)
+  )
+sem_ElseIf_Tuple
+  :: T_MExpr
+  -> T_Block
+  -> T_ElseIf
+sem_ElseIf_Tuple x1_ x2_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _x2Oindent :: Int
+            _x2OstatRegion :: Region
+            _x1OparentOperatorPrecedence :: OperatorLevel
+            _x1OparentOperatorAssociative :: Bool
+            _lhsOcopy :: ElseIf
+            _lhsOcomments :: ([MToken])
+            _x1Ocomments :: ([MToken])
+            _x1OforceMultiline :: Bool
+            _x1Oindent :: Int
+            _x1Oppconf :: PrettyPrintConfig
+            _x2Ocomments :: ([MToken])
+            _x2OforceMultiline :: Bool
+            _x2Oppconf :: PrettyPrintConfig
+            _x1Icomments :: ([MToken])
+            _x1Icopy :: MExpr
+            _x1IendsWithPrefixExpression :: Bool
+            _x1IisAssociative :: Bool
+            _x1IisLiteral :: Bool
+            _x1IisMultiline :: Bool
+            _x1Ipos :: Region
+            _x1Iprecedence :: OperatorLevel
+            _x1Ipretty :: Doc
+            _x2Icomments :: ([MToken])
+            _x2Icopy :: Block
+            _x2IisMultiline :: Bool
+            _x2Ipretty :: Doc
+            _x2IstatementCount :: Int
+            _lhsOpretty =
+              ( zeroWidthText "elseif" <-> _x1Ipretty <-> zeroWidthText "then" $+$ _x2Ipretty
+              )
+            _lhsOisMultiline =
+              ( _x1IisMultiline || _x2IisMultiline
+              )
+            _x2Oindent =
+              ( _lhsIindent + 1
+              )
+            _x2OstatRegion =
+              ( emptyRg
+              )
+            _x1OparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _x1OparentOperatorAssociative =
+              ( True
+              )
+            _copy =
+              ( (_x1Icopy, _x2Icopy)
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _x2Icomments
+              )
+            _x1Ocomments =
+              ( _lhsIcomments
+              )
+            _x1OforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _x1Oindent =
+              ( _lhsIindent
+              )
+            _x1Oppconf =
+              ( _lhsIppconf
+              )
+            _x2Ocomments =
+              ( _x1Icomments
+              )
+            _x2OforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _x2Oppconf =
+              ( _lhsIppconf
+              )
+            (_x1Icomments, _x1Icopy, _x1IendsWithPrefixExpression, _x1IisAssociative, _x1IisLiteral, _x1IisMultiline, _x1Ipos, _x1Iprecedence, _x1Ipretty) =
+              x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf
+            (_x2Icomments, _x2Icopy, _x2IisMultiline, _x2Ipretty, _x2IstatementCount) =
+              x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf _x2OstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+
+-- ElseIfList --------------------------------------------------
+-- cata
+sem_ElseIfList
+  :: ElseIfList
+  -> T_ElseIfList
+sem_ElseIfList list =
+  (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))
+
+-- semantic domain
+type T_ElseIfList =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), ElseIfList, Bool, Bool, Region, Doc)
+data Inh_ElseIfList = Inh_ElseIfList {comments_Inh_ElseIfList :: ([MToken]), forceMultiline_Inh_ElseIfList :: Bool, indent_Inh_ElseIfList :: Int, ppconf_Inh_ElseIfList :: PrettyPrintConfig}
+data Syn_ElseIfList = Syn_ElseIfList {comments_Syn_ElseIfList :: ([MToken]), copy_Syn_ElseIfList :: ElseIfList, elsesExist_Syn_ElseIfList :: Bool, isMultiline_Syn_ElseIfList :: Bool, pos_Syn_ElseIfList :: Region, pretty_Syn_ElseIfList :: Doc}
+wrap_ElseIfList
+  :: T_ElseIfList
+  -> Inh_ElseIfList
+  -> Syn_ElseIfList
+wrap_ElseIfList sem (Inh_ElseIfList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_ElseIfList _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty)
+  )
+sem_ElseIfList_Cons
+  :: T_MElseIf
+  -> T_ElseIfList
+  -> T_ElseIfList
+sem_ElseIfList_Cons hd_ tl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOelsesExist :: Bool
+            _lhsOpos :: Region
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: ElseIfList
+            _lhsOcomments :: ([MToken])
+            _hdOcomments :: ([MToken])
+            _hdOforceMultiline :: Bool
+            _hdOindent :: Int
+            _hdOppconf :: PrettyPrintConfig
+            _tlOcomments :: ([MToken])
+            _tlOforceMultiline :: Bool
+            _tlOindent :: Int
+            _tlOppconf :: PrettyPrintConfig
+            _hdIcomments :: ([MToken])
+            _hdIcopy :: MElseIf
+            _hdIisMultiline :: Bool
+            _hdIpos :: Region
+            _hdIpretty :: Doc
+            _tlIcomments :: ([MToken])
+            _tlIcopy :: ElseIfList
+            _tlIelsesExist :: Bool
+            _tlIisMultiline :: Bool
+            _tlIpos :: Region
+            _tlIpretty :: Doc
+            _lhsOpretty =
+              ( indent _lhsIppconf _lhsIindent _hdIpretty $+$ _tlIpretty
+              )
+            _lhsOelsesExist =
+              ( True
+              )
+            _lhsOpos =
+              ( _hdIpos
+              )
+            _lhsOisMultiline =
+              ( _hdIisMultiline || _tlIisMultiline
+              )
+            _copy =
+              ( (:) _hdIcopy _tlIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _tlIcomments
+              )
+            _hdOcomments =
+              ( _lhsIcomments
+              )
+            _hdOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _hdOindent =
+              ( _lhsIindent
+              )
+            _hdOppconf =
+              ( _lhsIppconf
+              )
+            _tlOcomments =
+              ( _hdIcomments
+              )
+            _tlOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _tlOindent =
+              ( _lhsIindent
+              )
+            _tlOppconf =
+              ( _lhsIppconf
+              )
+            (_hdIcomments, _hdIcopy, _hdIisMultiline, _hdIpos, _hdIpretty) =
+              hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
+            (_tlIcomments, _tlIcopy, _tlIelsesExist, _tlIisMultiline, _tlIpos, _tlIpretty) =
+              tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+sem_ElseIfList_Nil :: T_ElseIfList
+sem_ElseIfList_Nil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOpos :: Region
+            _lhsOisMultiline :: Bool
+            _lhsOelsesExist :: Bool
+            _lhsOcopy :: ElseIfList
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOpos =
+              ( emptyRg
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOelsesExist =
+              ( False
+              )
+            _copy =
+              ( []
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+
+-- Expr --------------------------------------------------------
+-- cata
+sem_Expr
+  :: Expr
+  -> T_Expr
+sem_Expr (ANil) =
+  (sem_Expr_ANil)
+sem_Expr (AFalse) =
+  (sem_Expr_AFalse)
+sem_Expr (ATrue) =
+  (sem_Expr_ATrue)
+sem_Expr (ANumber _num) =
+  (sem_Expr_ANumber _num)
+sem_Expr (AString _str) =
+  (sem_Expr_AString _str)
+sem_Expr (AVarArg) =
+  (sem_Expr_AVarArg)
+sem_Expr (AnonymousFunc _pars _body) =
+  (sem_Expr_AnonymousFunc _pars (sem_Block _body))
+sem_Expr (APrefixExpr _pexpr) =
+  (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))
+sem_Expr (ATableConstructor _fields) =
+  (sem_Expr_ATableConstructor (sem_FieldList _fields))
+sem_Expr (BinOpExpr _op _left _right) =
+  (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))
+sem_Expr (UnOpExpr _op _right) =
+  (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))
+
+-- semantic domain
+type T_Expr =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> Bool
+  -> OperatorLevel
+  -> PrettyPrintConfig
+  -> Region
+  -> (([MToken]), Expr, Bool, Bool, Bool, Bool, OperatorLevel, Doc)
+data Inh_Expr = Inh_Expr {comments_Inh_Expr :: ([MToken]), forceMultiline_Inh_Expr :: Bool, indent_Inh_Expr :: Int, parentOperatorAssociative_Inh_Expr :: Bool, parentOperatorPrecedence_Inh_Expr :: OperatorLevel, ppconf_Inh_Expr :: PrettyPrintConfig, statRegion_Inh_Expr :: Region}
+data Syn_Expr = Syn_Expr {comments_Syn_Expr :: ([MToken]), copy_Syn_Expr :: Expr, endsWithPrefixExpression_Syn_Expr :: Bool, isAssociative_Syn_Expr :: Bool, isLiteral_Syn_Expr :: Bool, isMultiline_Syn_Expr :: Bool, precedence_Syn_Expr :: OperatorLevel, pretty_Syn_Expr :: Doc}
+wrap_Expr
+  :: T_Expr
+  -> Inh_Expr
+  -> Syn_Expr
+wrap_Expr sem (Inh_Expr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion
+    in
+      (Syn_Expr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty)
+  )
+sem_Expr_ANil :: T_Expr
+sem_Expr_ANil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "nil"
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( ANil
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_AFalse :: T_Expr
+sem_Expr_AFalse =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "false"
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( AFalse
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_ATrue :: T_Expr
+sem_Expr_ATrue =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "true"
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( ATrue
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_ANumber
+  :: String
+  -> T_Expr
+sem_Expr_ANumber num_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText num_
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( ANumber num_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_AString
+  :: MToken
+  -> T_Expr
+sem_Expr_AString str_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( tok str_
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( AString str_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_AVarArg :: T_Expr
+sem_Expr_AVarArg =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "..."
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( AVarArg
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_AnonymousFunc
+  :: ([MToken])
+  -> T_Block
+  -> T_Expr
+sem_Expr_AnonymousFunc pars_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOendsWithPrefixExpression :: Bool
+            _bodyOindent :: Int
+            _lhsOpretty :: Doc
+            _lhsOisAssociative :: Bool
+            _lhsOisLiteral :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOisMultiline :: Bool
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _isMultiline =
+              ( _lhsIforceMultiline || _bodyIisMultiline
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _singleLinePretty =
+              ( zeroWidthText "function"
+                  <> parens _lhsIppconf _emptyParams (printList tok (render _comma) pars_)
+                    <-> _bodyIpretty
+                    <-> zeroWidthText "end"
+              )
+            _multilinePretty =
+              ( zeroWidthText "function"
+                  <> parens _lhsIppconf _emptyParams (printList tok (render _comma) pars_)
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _comma =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                  <> zchr ','
+                  <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _emptyParams =
+              ( toEmpty $ null pars_
+              )
+            _bodyOindent =
+              ( if _isMultiline then _lhsIindent + 1 else 0
+              )
+            _lhsOpretty =
+              ( if _isMultiline then _multilinePretty else _singleLinePretty
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOisLiteral =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( AnonymousFunc pars_ _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _bodyOcomments =
+              ( _lhsIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_APrefixExpr
+  :: T_PrefixExp
+  -> T_Expr
+sem_Expr_APrefixExpr pexpr_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOisLiteral :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _pexprOcomments :: ([MToken])
+            _pexprOforceMultiline :: Bool
+            _pexprOindent :: Int
+            _pexprOparentOperatorAssociative :: Bool
+            _pexprOparentOperatorPrecedence :: OperatorLevel
+            _pexprOppconf :: PrettyPrintConfig
+            _pexprIcomments :: ([MToken])
+            _pexprIcopy :: PrefixExp
+            _pexprIisAssociative :: Bool
+            _pexprIisLiteral :: Bool
+            _pexprIisMultiline :: Bool
+            _pexprIprecedence :: OperatorLevel
+            _pexprIpretty :: Doc
+            _pexprIstartsWithExprPrefixExpression :: Bool
+            _lhsOpretty =
+              ( _pexprIpretty
+              )
+            _lhsOendsWithPrefixExpression =
+              ( True
+              )
+            _lhsOisMultiline =
+              ( _pexprIisMultiline
+              )
+            _lhsOisAssociative =
+              ( _pexprIisAssociative
+              )
+            _lhsOisLiteral =
+              ( _pexprIisLiteral
+              )
+            _lhsOprecedence =
+              ( _pexprIprecedence
+              )
+            _copy =
+              ( APrefixExpr _pexprIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _pexprIcomments
+              )
+            _pexprOcomments =
+              ( _lhsIcomments
+              )
+            _pexprOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _pexprOindent =
+              ( _lhsIindent
+              )
+            _pexprOparentOperatorAssociative =
+              ( _lhsIparentOperatorAssociative
+              )
+            _pexprOparentOperatorPrecedence =
+              ( _lhsIparentOperatorPrecedence
+              )
+            _pexprOppconf =
+              ( _lhsIppconf
+              )
+            (_pexprIcomments, _pexprIcopy, _pexprIisAssociative, _pexprIisLiteral, _pexprIisMultiline, _pexprIprecedence, _pexprIpretty, _pexprIstartsWithExprPrefixExpression) =
+              pexpr_ _pexprOcomments _pexprOforceMultiline _pexprOindent _pexprOparentOperatorAssociative _pexprOparentOperatorPrecedence _pexprOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_ATableConstructor
+  :: T_FieldList
+  -> T_Expr
+sem_Expr_ATableConstructor fields_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _fieldsOindent :: Int
+            _fieldsOsomeElementsInListAreMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _lhsOisMultiline :: Bool
+            _fieldsOcomments :: ([MToken])
+            _fieldsOforceMultiline :: Bool
+            _fieldsOppconf :: PrettyPrintConfig
+            _fieldsIcomments :: ([MToken])
+            _fieldsIcopy :: FieldList
+            _fieldsIisMultiline :: Bool
+            _fieldsIisNil :: Bool
+            _fieldsIpretty :: Doc
+            _lhsOpretty =
+              ( if _isMultiline then _prettyMulti else _prettySingle
+              )
+            _isMultiline =
+              ( _lhsIforceMultiline || _fieldsIisMultiline
+              )
+            _lhsOisLiteral =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _prettyMulti =
+              ( zchr '{' $+$ _fieldsIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')
+              )
+            _prettySingle =
+              ( braces _lhsIppconf _emptyContents _fieldsIpretty
+              )
+            _emptyContents =
+              ( toEmpty $ null _fieldsIcopy
+              )
+            _fieldsOindent =
+              ( _lhsIindent + (if _fieldsIisMultiline then 1 else 0)
+              )
+            _fieldsOsomeElementsInListAreMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( ATableConstructor _fieldsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _fieldsIcomments
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _fieldsOcomments =
+              ( _lhsIcomments
+              )
+            _fieldsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _fieldsOppconf =
+              ( _lhsIppconf
+              )
+            (_fieldsIcomments, _fieldsIcopy, _fieldsIisMultiline, _fieldsIisNil, _fieldsIpretty) =
+              fields_ _fieldsOcomments _fieldsOforceMultiline _fieldsOindent _fieldsOppconf _fieldsOsomeElementsInListAreMultiline
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_BinOpExpr
+  :: T_BinOp
+  -> T_MExpr
+  -> T_MExpr
+  -> T_Expr
+sem_Expr_BinOpExpr op_ left_ right_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisMultiline :: Bool
+            _leftOparentOperatorPrecedence :: OperatorLevel
+            _rightOparentOperatorPrecedence :: OperatorLevel
+            _leftOparentOperatorAssociative :: Bool
+            _rightOparentOperatorAssociative :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOisLiteral :: Bool
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _opOcomments :: ([MToken])
+            _opOindent :: Int
+            _opOppconf :: PrettyPrintConfig
+            _leftOcomments :: ([MToken])
+            _leftOforceMultiline :: Bool
+            _leftOindent :: Int
+            _leftOppconf :: PrettyPrintConfig
+            _rightOcomments :: ([MToken])
+            _rightOforceMultiline :: Bool
+            _rightOindent :: Int
+            _rightOppconf :: PrettyPrintConfig
+            _opIcomments :: ([MToken])
+            _opIcopy :: BinOp
+            _opIisAssociative :: Bool
+            _opIisMultiline :: Bool
+            _opIprecedence :: OperatorLevel
+            _opIpretty :: Doc
+            _leftIcomments :: ([MToken])
+            _leftIcopy :: MExpr
+            _leftIendsWithPrefixExpression :: Bool
+            _leftIisAssociative :: Bool
+            _leftIisLiteral :: Bool
+            _leftIisMultiline :: Bool
+            _leftIpos :: Region
+            _leftIprecedence :: OperatorLevel
+            _leftIpretty :: Doc
+            _rightIcomments :: ([MToken])
+            _rightIcopy :: MExpr
+            _rightIendsWithPrefixExpression :: Bool
+            _rightIisAssociative :: Bool
+            _rightIisLiteral :: Bool
+            _rightIisMultiline :: Bool
+            _rightIpos :: Region
+            _rightIprecedence :: OperatorLevel
+            _rightIpretty :: Doc
+            _lhsOpretty =
+              ( _leftIpretty <-> _opIpretty <-> _rightIpretty
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _rightIendsWithPrefixExpression
+              )
+            _lhsOprecedence =
+              ( min _opIprecedence $ min _leftIprecedence _rightIprecedence
+              )
+            _lhsOisMultiline =
+              ( _leftIisMultiline || _rightIisMultiline
+              )
+            _leftOparentOperatorPrecedence =
+              ( _opIprecedence
+              )
+            _rightOparentOperatorPrecedence =
+              ( _opIprecedence
+              )
+            _leftOparentOperatorAssociative =
+              ( _opIisAssociative
+              )
+            _rightOparentOperatorAssociative =
+              ( _opIisAssociative
+              )
+            _lhsOisAssociative =
+              ( _opIisAssociative && _leftIisAssociative && _rightIisAssociative
+              )
+            _lhsOisLiteral =
+              ( ((\_ _ -> False) _leftIisLiteral _rightIisLiteral)
+              )
+            _copy =
+              ( BinOpExpr _opIcopy _leftIcopy _rightIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _rightIcomments
+              )
+            _opOcomments =
+              ( _lhsIcomments
+              )
+            _opOindent =
+              ( _lhsIindent
+              )
+            _opOppconf =
+              ( _lhsIppconf
+              )
+            _leftOcomments =
+              ( _opIcomments
+              )
+            _leftOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _leftOindent =
+              ( _lhsIindent
+              )
+            _leftOppconf =
+              ( _lhsIppconf
+              )
+            _rightOcomments =
+              ( _leftIcomments
+              )
+            _rightOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _rightOindent =
+              ( _lhsIindent
+              )
+            _rightOppconf =
+              ( _lhsIppconf
+              )
+            (_opIcomments, _opIcopy, _opIisAssociative, _opIisMultiline, _opIprecedence, _opIpretty) =
+              op_ _opOcomments _opOindent _opOppconf
+            (_leftIcomments, _leftIcopy, _leftIendsWithPrefixExpression, _leftIisAssociative, _leftIisLiteral, _leftIisMultiline, _leftIpos, _leftIprecedence, _leftIpretty) =
+              left_ _leftOcomments _leftOforceMultiline _leftOindent _leftOparentOperatorAssociative _leftOparentOperatorPrecedence _leftOppconf
+            (_rightIcomments, _rightIcopy, _rightIendsWithPrefixExpression, _rightIisAssociative, _rightIisLiteral, _rightIisMultiline, _rightIpos, _rightIprecedence, _rightIpretty) =
+              right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_Expr_UnOpExpr
+  :: T_UnOp
+  -> T_MExpr
+  -> T_Expr
+sem_Expr_UnOpExpr op_ right_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOprecedence :: OperatorLevel
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _rightOparentOperatorPrecedence :: OperatorLevel
+            _lhsOisAssociative :: Bool
+            _lhsOisLiteral :: Bool
+            _lhsOcopy :: Expr
+            _lhsOcomments :: ([MToken])
+            _opOcomments :: ([MToken])
+            _opOindent :: Int
+            _opOppconf :: PrettyPrintConfig
+            _rightOcomments :: ([MToken])
+            _rightOforceMultiline :: Bool
+            _rightOindent :: Int
+            _rightOparentOperatorAssociative :: Bool
+            _rightOppconf :: PrettyPrintConfig
+            _opIcomments :: ([MToken])
+            _opIcopy :: UnOp
+            _opIisMultiline :: Bool
+            _opIpretty :: Doc
+            _rightIcomments :: ([MToken])
+            _rightIcopy :: MExpr
+            _rightIendsWithPrefixExpression :: Bool
+            _rightIisAssociative :: Bool
+            _rightIisLiteral :: Bool
+            _rightIisMultiline :: Bool
+            _rightIpos :: Region
+            _rightIprecedence :: OperatorLevel
+            _rightIpretty :: Doc
+            _lhsOpretty =
+              ( _opIpretty <> _rightIpretty
+              )
+            _lhsOprecedence =
+              ( min _rightIprecedence OperatorLevel7
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _rightIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _opIisMultiline || _rightIisMultiline
+              )
+            _rightOparentOperatorPrecedence =
+              ( OperatorLevel7
+              )
+            _lhsOisAssociative =
+              ( _rightIisAssociative
+              )
+            _lhsOisLiteral =
+              ( _rightIisLiteral
+              )
+            _copy =
+              ( UnOpExpr _opIcopy _rightIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _rightIcomments
+              )
+            _opOcomments =
+              ( _lhsIcomments
+              )
+            _opOindent =
+              ( _lhsIindent
+              )
+            _opOppconf =
+              ( _lhsIppconf
+              )
+            _rightOcomments =
+              ( _opIcomments
+              )
+            _rightOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _rightOindent =
+              ( _lhsIindent
+              )
+            _rightOparentOperatorAssociative =
+              ( _lhsIparentOperatorAssociative
+              )
+            _rightOppconf =
+              ( _lhsIppconf
+              )
+            (_opIcomments, _opIcopy, _opIisMultiline, _opIpretty) =
+              op_ _opOcomments _opOindent _opOppconf
+            (_rightIcomments, _rightIcopy, _rightIendsWithPrefixExpression, _rightIisAssociative, _rightIisLiteral, _rightIisMultiline, _rightIpos, _rightIprecedence, _rightIpretty) =
+              right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- ExprSuffixList ----------------------------------------------
+-- cata
+sem_ExprSuffixList
+  :: ExprSuffixList
+  -> T_ExprSuffixList
+sem_ExprSuffixList list =
+  (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))
+
+-- semantic domain
+type T_ExprSuffixList =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), ExprSuffixList, Bool, Bool, OperatorLevel, Doc)
+data Inh_ExprSuffixList = Inh_ExprSuffixList {comments_Inh_ExprSuffixList :: ([MToken]), forceMultiline_Inh_ExprSuffixList :: Bool, indent_Inh_ExprSuffixList :: Int, ppconf_Inh_ExprSuffixList :: PrettyPrintConfig}
+data Syn_ExprSuffixList = Syn_ExprSuffixList {comments_Syn_ExprSuffixList :: ([MToken]), copy_Syn_ExprSuffixList :: ExprSuffixList, isAssociative_Syn_ExprSuffixList :: Bool, isMultiline_Syn_ExprSuffixList :: Bool, precedence_Syn_ExprSuffixList :: OperatorLevel, pretty_Syn_ExprSuffixList :: Doc}
+wrap_ExprSuffixList
+  :: T_ExprSuffixList
+  -> Inh_ExprSuffixList
+  -> Syn_ExprSuffixList
+wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_ExprSuffixList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty)
+  )
+sem_ExprSuffixList_Cons
+  :: T_PFExprSuffix
+  -> T_ExprSuffixList
+  -> T_ExprSuffixList
+sem_ExprSuffixList_Cons hd_ tl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: ExprSuffixList
+            _lhsOcomments :: ([MToken])
+            _hdOcomments :: ([MToken])
+            _hdOforceMultiline :: Bool
+            _hdOindent :: Int
+            _hdOppconf :: PrettyPrintConfig
+            _tlOcomments :: ([MToken])
+            _tlOforceMultiline :: Bool
+            _tlOindent :: Int
+            _tlOppconf :: PrettyPrintConfig
+            _hdIcomments :: ([MToken])
+            _hdIcopy :: PFExprSuffix
+            _hdIisAssociative :: Bool
+            _hdIisMultiline :: Bool
+            _hdIprecedence :: OperatorLevel
+            _hdIpretty :: Doc
+            _tlIcomments :: ([MToken])
+            _tlIcopy :: ExprSuffixList
+            _tlIisAssociative :: Bool
+            _tlIisMultiline :: Bool
+            _tlIprecedence :: OperatorLevel
+            _tlIpretty :: Doc
+            _lhsOpretty =
+              ( _hdIpretty <> _tlIpretty
+              )
+            _lhsOisMultiline =
+              ( _hdIisMultiline || _tlIisMultiline
+              )
+            _lhsOisAssociative =
+              ( _hdIisAssociative && _tlIisAssociative
+              )
+            _lhsOprecedence =
+              ( (min _hdIprecedence _tlIprecedence)
+              )
+            _copy =
+              ( (:) _hdIcopy _tlIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _tlIcomments
+              )
+            _hdOcomments =
+              ( _lhsIcomments
+              )
+            _hdOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _hdOindent =
+              ( _lhsIindent
+              )
+            _hdOppconf =
+              ( _lhsIppconf
+              )
+            _tlOcomments =
+              ( _hdIcomments
+              )
+            _tlOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _tlOindent =
+              ( _lhsIindent
+              )
+            _tlOppconf =
+              ( _lhsIppconf
+              )
+            (_hdIcomments, _hdIcopy, _hdIisAssociative, _hdIisMultiline, _hdIprecedence, _hdIpretty) =
+              hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
+            (_tlIcomments, _tlIcopy, _tlIisAssociative, _tlIisMultiline, _tlIprecedence, _tlIpretty) =
+              tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_ExprSuffixList_Nil :: T_ExprSuffixList
+sem_ExprSuffixList_Nil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: ExprSuffixList
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( []
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- Field -------------------------------------------------------
+-- cata
+sem_Field
+  :: Field
+  -> T_Field
+sem_Field (ExprField _key _value _sep) =
+  (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))
+sem_Field (NamedField _key _value _sep) =
+  (sem_Field_NamedField _key (sem_MExpr _value) (sem_FieldSep _sep))
+sem_Field (UnnamedField _value _sep) =
+  (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))
+
+-- semantic domain
+type T_Field =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), Field, Bool, Bool, Region, Doc)
+data Inh_Field = Inh_Field {comments_Inh_Field :: ([MToken]), forceMultiline_Inh_Field :: Bool, indent_Inh_Field :: Int, ppconf_Inh_Field :: PrettyPrintConfig}
+data Syn_Field = Syn_Field {comments_Syn_Field :: ([MToken]), copy_Syn_Field :: Field, isMultiline_Syn_Field :: Bool, isSemiColon_Syn_Field :: Bool, pos_Syn_Field :: Region, pretty_Syn_Field :: Doc}
+wrap_Field
+  :: T_Field
+  -> Inh_Field
+  -> Syn_Field
+wrap_Field sem (Inh_Field _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_Field _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpos _lhsOpretty)
+  )
+sem_Field_ExprField
+  :: T_MExpr
+  -> T_MExpr
+  -> T_FieldSep
+  -> T_Field
+sem_Field_ExprField key_ value_ sep_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _keyOparentOperatorPrecedence :: OperatorLevel
+            _keyOparentOperatorAssociative :: Bool
+            _valueOparentOperatorPrecedence :: OperatorLevel
+            _valueOparentOperatorAssociative :: Bool
+            _lhsOisSemiColon :: Bool
+            _lhsOcopy :: Field
+            _lhsOcomments :: ([MToken])
+            _lhsOpos :: Region
+            _keyOcomments :: ([MToken])
+            _keyOforceMultiline :: Bool
+            _keyOindent :: Int
+            _keyOppconf :: PrettyPrintConfig
+            _valueOcomments :: ([MToken])
+            _valueOforceMultiline :: Bool
+            _valueOindent :: Int
+            _valueOppconf :: PrettyPrintConfig
+            _sepOindent :: Int
+            _sepOppconf :: PrettyPrintConfig
+            _keyIcomments :: ([MToken])
+            _keyIcopy :: MExpr
+            _keyIendsWithPrefixExpression :: Bool
+            _keyIisAssociative :: Bool
+            _keyIisLiteral :: Bool
+            _keyIisMultiline :: Bool
+            _keyIpos :: Region
+            _keyIprecedence :: OperatorLevel
+            _keyIpretty :: Doc
+            _valueIcomments :: ([MToken])
+            _valueIcopy :: MExpr
+            _valueIendsWithPrefixExpression :: Bool
+            _valueIisAssociative :: Bool
+            _valueIisLiteral :: Bool
+            _valueIisMultiline :: Bool
+            _valueIpos :: Region
+            _valueIprecedence :: OperatorLevel
+            _valueIpretty :: Doc
+            _sepIcopy :: FieldSep
+            _sepIisMultiline :: Bool
+            _sepIisSemiColon :: Bool
+            _sepIpretty :: Doc
+            _lhsOpretty =
+              ( brackets _lhsIppconf _keyIpretty <-> zchr '=' <-> _valueIpretty <> _sepIpretty
+              )
+            _lhsOisMultiline =
+              ( True
+              )
+            _keyOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _keyOparentOperatorAssociative =
+              ( True
+              )
+            _valueOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _valueOparentOperatorAssociative =
+              ( True
+              )
+            _lhsOisSemiColon =
+              ( _sepIisSemiColon
+              )
+            _copy =
+              ( ExprField _keyIcopy _valueIcopy _sepIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _valueIcomments
+              )
+            _lhsOpos =
+              ( _valueIpos
+              )
+            _keyOcomments =
+              ( _lhsIcomments
+              )
+            _keyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _keyOindent =
+              ( _lhsIindent
+              )
+            _keyOppconf =
+              ( _lhsIppconf
+              )
+            _valueOcomments =
+              ( _keyIcomments
+              )
+            _valueOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _valueOindent =
+              ( _lhsIindent
+              )
+            _valueOppconf =
+              ( _lhsIppconf
+              )
+            _sepOindent =
+              ( _lhsIindent
+              )
+            _sepOppconf =
+              ( _lhsIppconf
+              )
+            (_keyIcomments, _keyIcopy, _keyIendsWithPrefixExpression, _keyIisAssociative, _keyIisLiteral, _keyIisMultiline, _keyIpos, _keyIprecedence, _keyIpretty) =
+              key_ _keyOcomments _keyOforceMultiline _keyOindent _keyOparentOperatorAssociative _keyOparentOperatorPrecedence _keyOppconf
+            (_valueIcomments, _valueIcopy, _valueIendsWithPrefixExpression, _valueIisAssociative, _valueIisLiteral, _valueIisMultiline, _valueIpos, _valueIprecedence, _valueIpretty) =
+              value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf
+            (_sepIcopy, _sepIisMultiline, _sepIisSemiColon, _sepIpretty) =
+              sep_ _sepOindent _sepOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty)
+        )
+  )
+sem_Field_NamedField
+  :: MToken
+  -> T_MExpr
+  -> T_FieldSep
+  -> T_Field
+sem_Field_NamedField key_ value_ sep_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _valueOparentOperatorPrecedence :: OperatorLevel
+            _valueOparentOperatorAssociative :: Bool
+            _lhsOisSemiColon :: Bool
+            _lhsOcopy :: Field
+            _lhsOcomments :: ([MToken])
+            _lhsOpos :: Region
+            _valueOcomments :: ([MToken])
+            _valueOforceMultiline :: Bool
+            _valueOindent :: Int
+            _valueOppconf :: PrettyPrintConfig
+            _sepOindent :: Int
+            _sepOppconf :: PrettyPrintConfig
+            _valueIcomments :: ([MToken])
+            _valueIcopy :: MExpr
+            _valueIendsWithPrefixExpression :: Bool
+            _valueIisAssociative :: Bool
+            _valueIisLiteral :: Bool
+            _valueIisMultiline :: Bool
+            _valueIpos :: Region
+            _valueIprecedence :: OperatorLevel
+            _valueIpretty :: Doc
+            _sepIcopy :: FieldSep
+            _sepIisMultiline :: Bool
+            _sepIisSemiColon :: Bool
+            _sepIpretty :: Doc
+            _lhsOpretty =
+              ( tok key_ <-> zchr '=' <-> _valueIpretty <> _sepIpretty
+              )
+            _lhsOisMultiline =
+              ( True
+              )
+            _valueOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _valueOparentOperatorAssociative =
+              ( True
+              )
+            _lhsOisSemiColon =
+              ( _sepIisSemiColon
+              )
+            _copy =
+              ( NamedField key_ _valueIcopy _sepIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _valueIcomments
+              )
+            _lhsOpos =
+              ( _valueIpos
+              )
+            _valueOcomments =
+              ( _lhsIcomments
+              )
+            _valueOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _valueOindent =
+              ( _lhsIindent
+              )
+            _valueOppconf =
+              ( _lhsIppconf
+              )
+            _sepOindent =
+              ( _lhsIindent
+              )
+            _sepOppconf =
+              ( _lhsIppconf
+              )
+            (_valueIcomments, _valueIcopy, _valueIendsWithPrefixExpression, _valueIisAssociative, _valueIisLiteral, _valueIisMultiline, _valueIpos, _valueIprecedence, _valueIpretty) =
+              value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf
+            (_sepIcopy, _sepIisMultiline, _sepIisSemiColon, _sepIpretty) =
+              sep_ _sepOindent _sepOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty)
+        )
+  )
+sem_Field_UnnamedField
+  :: T_MExpr
+  -> T_FieldSep
+  -> T_Field
+sem_Field_UnnamedField value_ sep_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _valueOparentOperatorPrecedence :: OperatorLevel
+            _valueOparentOperatorAssociative :: Bool
+            _lhsOisSemiColon :: Bool
+            _lhsOcopy :: Field
+            _lhsOcomments :: ([MToken])
+            _lhsOpos :: Region
+            _valueOcomments :: ([MToken])
+            _valueOforceMultiline :: Bool
+            _valueOindent :: Int
+            _valueOppconf :: PrettyPrintConfig
+            _sepOindent :: Int
+            _sepOppconf :: PrettyPrintConfig
+            _valueIcomments :: ([MToken])
+            _valueIcopy :: MExpr
+            _valueIendsWithPrefixExpression :: Bool
+            _valueIisAssociative :: Bool
+            _valueIisLiteral :: Bool
+            _valueIisMultiline :: Bool
+            _valueIpos :: Region
+            _valueIprecedence :: OperatorLevel
+            _valueIpretty :: Doc
+            _sepIcopy :: FieldSep
+            _sepIisMultiline :: Bool
+            _sepIisSemiColon :: Bool
+            _sepIpretty :: Doc
+            _lhsOpretty =
+              ( _valueIpretty <> _sepIpretty
+              )
+            _lhsOisMultiline =
+              ( _valueIisMultiline || _sepIisMultiline
+              )
+            _valueOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _valueOparentOperatorAssociative =
+              ( True
+              )
+            _lhsOisSemiColon =
+              ( _sepIisSemiColon
+              )
+            _copy =
+              ( UnnamedField _valueIcopy _sepIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _valueIcomments
+              )
+            _lhsOpos =
+              ( _valueIpos
+              )
+            _valueOcomments =
+              ( _lhsIcomments
+              )
+            _valueOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _valueOindent =
+              ( _lhsIindent
+              )
+            _valueOppconf =
+              ( _lhsIppconf
+              )
+            _sepOindent =
+              ( _lhsIindent
+              )
+            _sepOppconf =
+              ( _lhsIppconf
+              )
+            (_valueIcomments, _valueIcopy, _valueIendsWithPrefixExpression, _valueIisAssociative, _valueIisLiteral, _valueIisMultiline, _valueIpos, _valueIprecedence, _valueIpretty) =
+              value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf
+            (_sepIcopy, _sepIisMultiline, _sepIisSemiColon, _sepIpretty) =
+              sep_ _sepOindent _sepOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty)
+        )
+  )
+
+-- FieldList ---------------------------------------------------
+-- cata
+sem_FieldList
+  :: FieldList
+  -> T_FieldList
+sem_FieldList list =
+  (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))
+
+-- semantic domain
+type T_FieldList =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> Bool
+  -> (([MToken]), FieldList, Bool, Bool, Doc)
+data Inh_FieldList = Inh_FieldList {comments_Inh_FieldList :: ([MToken]), forceMultiline_Inh_FieldList :: Bool, indent_Inh_FieldList :: Int, ppconf_Inh_FieldList :: PrettyPrintConfig, someElementsInListAreMultiline_Inh_FieldList :: Bool}
+data Syn_FieldList = Syn_FieldList {comments_Syn_FieldList :: ([MToken]), copy_Syn_FieldList :: FieldList, isMultiline_Syn_FieldList :: Bool, isNil_Syn_FieldList :: Bool, pretty_Syn_FieldList :: Doc}
+wrap_FieldList
+  :: T_FieldList
+  -> Inh_FieldList
+  -> Syn_FieldList
+wrap_FieldList sem (Inh_FieldList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisNil, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline
+    in
+      (Syn_FieldList _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisNil _lhsOpretty)
+  )
+sem_FieldList_Cons
+  :: T_Field
+  -> T_FieldList
+  -> T_FieldList
+sem_FieldList_Cons hd_ tl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIsomeElementsInListAreMultiline ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisNil :: Bool
+            _tlOsomeElementsInListAreMultiline :: Bool
+            _hdOcomments :: ([MToken])
+            _tlOcomments :: ([MToken])
+            _lhsOcomments :: ([MToken])
+            _lhsOcopy :: FieldList
+            _lhsOisMultiline :: Bool
+            _hdOforceMultiline :: Bool
+            _hdOindent :: Int
+            _hdOppconf :: PrettyPrintConfig
+            _tlOforceMultiline :: Bool
+            _tlOindent :: Int
+            _tlOppconf :: PrettyPrintConfig
+            _hdIcomments :: ([MToken])
+            _hdIcopy :: Field
+            _hdIisMultiline :: Bool
+            _hdIisSemiColon :: Bool
+            _hdIpos :: Region
+            _hdIpretty :: Doc
+            _tlIcomments :: ([MToken])
+            _tlIcopy :: FieldList
+            _tlIisMultiline :: Bool
+            _tlIisNil :: Bool
+            _tlIpretty :: Doc
+            _lhsOpretty =
+              ( if _isMultiline
+                  then
+                    renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore)
+                      $+$ indent _lhsIppconf _lhsIindent _hdIpretty
+                        <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)
+                      $+$ _tlIpretty
+                  else
+                    _hdIpretty
+                      `_optionalSpaceAfterSep` _tlIpretty
+              )
+            _lhsOisNil =
+              ( False
+              )
+            _optionalSpaceAfterSep =
+              ( if spaceAfterComma _lhsIppconf then (<->) else (<>)
+              )
+            _isMultiline =
+              ( _lhsIforceMultiline
+                  || _hdIisMultiline
+                  || _tlIisMultiline
+                  || _lhsIsomeElementsInListAreMultiline
+                  || not (null $ fst _commentsBefore)
+                  || not (null $ fst _commentsAfter)
+              )
+            _tlOsomeElementsInListAreMultiline =
+              ( _lhsIsomeElementsInListAreMultiline
+                  || _hdIisMultiline
+                  || not (null $ fst _commentsBefore)
+                  || not (null $ fst _commentsAfter)
+              )
+            _commentsBefore =
+              ( span (\(MToken pos _) -> pos `before` _hdIpos) _lhsIcomments
+              )
+            _hdOcomments =
+              ( snd _commentsBefore
+              )
+            _commentsAfter =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` _hdIpos) _hdIcomments
+              )
+            _tlOcomments =
+              ( snd _commentsAfter
+              )
+            _lhsOcomments =
+              ( _tlIcomments
+              )
+            _copy =
+              ( (:) _hdIcopy _tlIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _hdOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _hdOindent =
+              ( _lhsIindent
+              )
+            _hdOppconf =
+              ( _lhsIppconf
+              )
+            _tlOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _tlOindent =
+              ( _lhsIindent
+              )
+            _tlOppconf =
+              ( _lhsIppconf
+              )
+            (_hdIcomments, _hdIcopy, _hdIisMultiline, _hdIisSemiColon, _hdIpos, _hdIpretty) =
+              hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
+            (_tlIcomments, _tlIcopy, _tlIisMultiline, _tlIisNil, _tlIpretty) =
+              tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOsomeElementsInListAreMultiline
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisNil, _lhsOpretty)
+        )
+  )
+sem_FieldList_Nil :: T_FieldList
+sem_FieldList_Nil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIsomeElementsInListAreMultiline ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisNil :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: FieldList
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOisNil =
+              ( True
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _copy =
+              ( []
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisNil, _lhsOpretty)
+        )
+  )
+
+-- FieldSep ----------------------------------------------------
+-- cata
+sem_FieldSep
+  :: FieldSep
+  -> T_FieldSep
+sem_FieldSep (CommaSep) =
+  (sem_FieldSep_CommaSep)
+sem_FieldSep (SemicolonSep) =
+  (sem_FieldSep_SemicolonSep)
+sem_FieldSep (NoSep) =
+  (sem_FieldSep_NoSep)
+
+-- semantic domain
+type T_FieldSep =
+  Int
+  -> PrettyPrintConfig
+  -> (FieldSep, Bool, Bool, Doc)
+data Inh_FieldSep = Inh_FieldSep {indent_Inh_FieldSep :: Int, ppconf_Inh_FieldSep :: PrettyPrintConfig}
+data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep, isMultiline_Syn_FieldSep :: Bool, isSemiColon_Syn_FieldSep :: Bool, pretty_Syn_FieldSep :: Doc}
+wrap_FieldSep
+  :: T_FieldSep
+  -> Inh_FieldSep
+  -> Syn_FieldSep
+wrap_FieldSep sem (Inh_FieldSep _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty) = sem _lhsIindent _lhsIppconf
+    in
+      (Syn_FieldSep _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpretty)
+  )
+sem_FieldSep_CommaSep :: T_FieldSep
+sem_FieldSep_CommaSep =
+  ( \_lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisSemiColon :: Bool
+            _lhsOcopy :: FieldSep
+            _lhsOpretty =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ','
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisSemiColon =
+              ( False
+              )
+            _copy =
+              ( CommaSep
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+          in
+            (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty)
+        )
+  )
+sem_FieldSep_SemicolonSep :: T_FieldSep
+sem_FieldSep_SemicolonSep =
+  ( \_lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisSemiColon :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: FieldSep
+            _lhsOpretty =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ';'
+              )
+            _lhsOisSemiColon =
+              ( True
+              )
+            _lhsOisMultiline =
+              ( True
+              )
+            _copy =
+              ( SemicolonSep
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+          in
+            (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty)
+        )
+  )
+sem_FieldSep_NoSep :: T_FieldSep
+sem_FieldSep_NoSep =
+  ( \_lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisSemiColon :: Bool
+            _lhsOcopy :: FieldSep
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisSemiColon =
+              ( False
+              )
+            _copy =
+              ( NoSep
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+          in
+            (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty)
+        )
+  )
+
+-- FuncName ----------------------------------------------------
+-- cata
+sem_FuncName
+  :: FuncName
+  -> T_FuncName
+sem_FuncName (FuncName _names _meta) =
+  (sem_FuncName_FuncName _names _meta)
+
+-- semantic domain
+type T_FuncName =
+  ([MToken])
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), FuncName, Bool, Region, Doc)
+data Inh_FuncName = Inh_FuncName {comments_Inh_FuncName :: ([MToken]), indent_Inh_FuncName :: Int, ppconf_Inh_FuncName :: PrettyPrintConfig}
+data Syn_FuncName = Syn_FuncName {comments_Syn_FuncName :: ([MToken]), copy_Syn_FuncName :: FuncName, isMultiline_Syn_FuncName :: Bool, pos_Syn_FuncName :: Region, pretty_Syn_FuncName :: Doc}
+wrap_FuncName
+  :: T_FuncName
+  -> Inh_FuncName
+  -> Syn_FuncName
+wrap_FuncName sem (Inh_FuncName _lhsIcomments _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf
+    in
+      (Syn_FuncName _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty)
+  )
+sem_FuncName_FuncName
+  :: ([MToken])
+  -> (Maybe MToken)
+  -> T_FuncName
+sem_FuncName_FuncName names_ meta_ =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOpos :: Region
+            _lhsOcopy :: FuncName
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( printList tok "." names_ <> metaDoc meta_
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOpos =
+              ( case meta_ of
+                  Nothing -> _namesPos
+                  Just name -> rgOr _namesPos (mpos name)
+              )
+            _namesPos =
+              ( foldl1 rgOr $ map mpos names_
+              )
+            _copy =
+              ( FuncName names_ meta_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+
+-- MElse -------------------------------------------------------
+-- cata
+sem_MElse
+  :: MElse
+  -> T_MElse
+sem_MElse (MElse _pos _body) =
+  (sem_MElse_MElse _pos (sem_Block _body))
+
+-- semantic domain
+type T_MElse =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> Region
+  -> (([MToken]), MElse, Bool, Bool, Region, Doc)
+data Inh_MElse = Inh_MElse {comments_Inh_MElse :: ([MToken]), forceMultiline_Inh_MElse :: Bool, indent_Inh_MElse :: Int, ppconf_Inh_MElse :: PrettyPrintConfig, statRegion_Inh_MElse :: Region}
+data Syn_MElse = Syn_MElse {comments_Syn_MElse :: ([MToken]), copy_Syn_MElse :: MElse, elsesExist_Syn_MElse :: Bool, isMultiline_Syn_MElse :: Bool, pos_Syn_MElse :: Region, pretty_Syn_MElse :: Doc}
+wrap_MElse
+  :: T_MElse
+  -> Inh_MElse
+  -> Syn_MElse
+wrap_MElse sem (Inh_MElse _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
+    in
+      (Syn_MElse _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty)
+  )
+sem_MElse_MElse
+  :: Region
+  -> T_Block
+  -> T_MElse
+sem_MElse_MElse pos_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _bodyOindent :: Int
+            _lhsOpos :: Region
+            _bodyOcomments :: ([MToken])
+            _lhsOelsesExist :: Bool
+            _lhsOcopy :: MElse
+            _lhsOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOpretty =
+              ( indent _lhsIppconf _lhsIindent (zeroWidthText "else")
+                  <-> _prettyCommentsAfter
+                  $+$ _bodyIpretty
+              )
+            _lhsOisMultiline =
+              ( _bodyIisMultiline
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _prettyCommentsAfter =
+              ( renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)
+              )
+            _commentsAfter =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` pos_) _lhsIcomments
+              )
+            _lhsOpos =
+              ( pos_
+              )
+            _bodyOcomments =
+              ( snd _commentsAfter
+              )
+            _lhsOelsesExist =
+              ( False
+              )
+            _copy =
+              ( MElse pos_ _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+
+-- MElseIf -----------------------------------------------------
+-- cata
+sem_MElseIf
+  :: MElseIf
+  -> T_MElseIf
+sem_MElseIf (MElseIf _pos _elif) =
+  (sem_MElseIf_MElseIf _pos (sem_ElseIf _elif))
+
+-- semantic domain
+type T_MElseIf =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), MElseIf, Bool, Region, Doc)
+data Inh_MElseIf = Inh_MElseIf {comments_Inh_MElseIf :: ([MToken]), forceMultiline_Inh_MElseIf :: Bool, indent_Inh_MElseIf :: Int, ppconf_Inh_MElseIf :: PrettyPrintConfig}
+data Syn_MElseIf = Syn_MElseIf {comments_Syn_MElseIf :: ([MToken]), copy_Syn_MElseIf :: MElseIf, isMultiline_Syn_MElseIf :: Bool, pos_Syn_MElseIf :: Region, pretty_Syn_MElseIf :: Doc}
+wrap_MElseIf
+  :: T_MElseIf
+  -> Inh_MElseIf
+  -> Syn_MElseIf
+wrap_MElseIf sem (Inh_MElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_MElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty)
+  )
+sem_MElseIf_MElseIf
+  :: Region
+  -> T_ElseIf
+  -> T_MElseIf
+sem_MElseIf_MElseIf pos_ elif_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpos :: Region
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: MElseIf
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty :: Doc
+            _elifOcomments :: ([MToken])
+            _elifOforceMultiline :: Bool
+            _elifOindent :: Int
+            _elifOppconf :: PrettyPrintConfig
+            _elifIcomments :: ([MToken])
+            _elifIcopy :: ElseIf
+            _elifIisMultiline :: Bool
+            _elifIpretty :: Doc
+            _lhsOpos =
+              ( pos_
+              )
+            _lhsOisMultiline =
+              ( _elifIisMultiline
+              )
+            _copy =
+              ( MElseIf pos_ _elifIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _elifIcomments
+              )
+            _lhsOpretty =
+              ( _elifIpretty
+              )
+            _elifOcomments =
+              ( _lhsIcomments
+              )
+            _elifOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _elifOindent =
+              ( _lhsIindent
+              )
+            _elifOppconf =
+              ( _lhsIppconf
+              )
+            (_elifIcomments, _elifIcopy, _elifIisMultiline, _elifIpretty) =
+              elif_ _elifOcomments _elifOforceMultiline _elifOindent _elifOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty)
+        )
+  )
+
+-- MExpr -------------------------------------------------------
+-- cata
+sem_MExpr
+  :: MExpr
+  -> T_MExpr
+sem_MExpr (MExpr _pos _expr) =
+  (sem_MExpr_MExpr _pos (sem_Expr _expr))
+
+-- semantic domain
+type T_MExpr =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> Bool
+  -> OperatorLevel
+  -> PrettyPrintConfig
+  -> (([MToken]), MExpr, Bool, Bool, Bool, Bool, Region, OperatorLevel, Doc)
+data Inh_MExpr = Inh_MExpr {comments_Inh_MExpr :: ([MToken]), forceMultiline_Inh_MExpr :: Bool, indent_Inh_MExpr :: Int, parentOperatorAssociative_Inh_MExpr :: Bool, parentOperatorPrecedence_Inh_MExpr :: OperatorLevel, ppconf_Inh_MExpr :: PrettyPrintConfig}
+data Syn_MExpr = Syn_MExpr {comments_Syn_MExpr :: ([MToken]), copy_Syn_MExpr :: MExpr, endsWithPrefixExpression_Syn_MExpr :: Bool, isAssociative_Syn_MExpr :: Bool, isLiteral_Syn_MExpr :: Bool, isMultiline_Syn_MExpr :: Bool, pos_Syn_MExpr :: Region, precedence_Syn_MExpr :: OperatorLevel, pretty_Syn_MExpr :: Doc}
+wrap_MExpr
+  :: T_MExpr
+  -> Inh_MExpr
+  -> Syn_MExpr
+wrap_MExpr sem (Inh_MExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf
+    in
+      (Syn_MExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty)
+  )
+sem_MExpr_MExpr
+  :: Region
+  -> T_Expr
+  -> T_MExpr
+sem_MExpr_MExpr pos_ expr_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf ->
+        ( let
+            _lhsOpos :: Region
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _exprOstatRegion :: Region
+            _lhsOisAssociative :: Bool
+            _lhsOisLiteral :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: MExpr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty :: Doc
+            _exprOcomments :: ([MToken])
+            _exprOforceMultiline :: Bool
+            _exprOindent :: Int
+            _exprOparentOperatorAssociative :: Bool
+            _exprOparentOperatorPrecedence :: OperatorLevel
+            _exprOppconf :: PrettyPrintConfig
+            _exprIcomments :: ([MToken])
+            _exprIcopy :: Expr
+            _exprIendsWithPrefixExpression :: Bool
+            _exprIisAssociative :: Bool
+            _exprIisLiteral :: Bool
+            _exprIisMultiline :: Bool
+            _exprIprecedence :: OperatorLevel
+            _exprIpretty :: Doc
+            _lhsOpos =
+              ( pos_
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _exprIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _exprIisMultiline
+              )
+            _exprOstatRegion =
+              ( pos_
+              )
+            _lhsOisAssociative =
+              ( _exprIisAssociative
+              )
+            _lhsOisLiteral =
+              ( _exprIisLiteral
+              )
+            _lhsOprecedence =
+              ( _exprIprecedence
+              )
+            _copy =
+              ( MExpr pos_ _exprIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _exprIcomments
+              )
+            _lhsOpretty =
+              ( _exprIpretty
+              )
+            _exprOcomments =
+              ( _lhsIcomments
+              )
+            _exprOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _exprOindent =
+              ( _lhsIindent
+              )
+            _exprOparentOperatorAssociative =
+              ( _lhsIparentOperatorAssociative
+              )
+            _exprOparentOperatorPrecedence =
+              ( _lhsIparentOperatorPrecedence
+              )
+            _exprOppconf =
+              ( _lhsIppconf
+              )
+            (_exprIcomments, _exprIcopy, _exprIendsWithPrefixExpression, _exprIisAssociative, _exprIisLiteral, _exprIisMultiline, _exprIprecedence, _exprIpretty) =
+              expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf _exprOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- MExprList ---------------------------------------------------
+-- cata
+sem_MExprList
+  :: MExprList
+  -> T_MExprList
+sem_MExprList list =
+  (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))
+
+-- semantic domain
+type T_MExprList =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> Bool
+  -> (([MToken]), MExprList, Bool, Bool, Bool, Region, OperatorLevel, Doc)
+data Inh_MExprList = Inh_MExprList {comments_Inh_MExprList :: ([MToken]), forceMultiline_Inh_MExprList :: Bool, indent_Inh_MExprList :: Int, ppconf_Inh_MExprList :: PrettyPrintConfig, someElementsInListAreMultiline_Inh_MExprList :: Bool}
+data Syn_MExprList = Syn_MExprList {comments_Syn_MExprList :: ([MToken]), copy_Syn_MExprList :: MExprList, isAssociative_Syn_MExprList :: Bool, isLast_Syn_MExprList :: Bool, isMultiline_Syn_MExprList :: Bool, pos_Syn_MExprList :: Region, precedence_Syn_MExprList :: OperatorLevel, pretty_Syn_MExprList :: Doc}
+wrap_MExprList
+  :: T_MExprList
+  -> Inh_MExprList
+  -> Syn_MExprList
+wrap_MExprList sem (Inh_MExprList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLast, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline
+    in
+      (Syn_MExprList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLast _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty)
+  )
+sem_MExprList_Cons
+  :: T_MExpr
+  -> T_MExprList
+  -> T_MExprList
+sem_MExprList_Cons hd_ tl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIsomeElementsInListAreMultiline ->
+        ( let
+            _lhsOpretty :: Doc
+            _hdOcomments :: ([MToken])
+            _tlOcomments :: ([MToken])
+            _lhsOcomments :: ([MToken])
+            _lhsOpos :: Region
+            _lhsOisLast :: Bool
+            _hdOparentOperatorPrecedence :: OperatorLevel
+            _hdOparentOperatorAssociative :: Bool
+            _tlOsomeElementsInListAreMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: MExprList
+            _lhsOisMultiline :: Bool
+            _hdOforceMultiline :: Bool
+            _hdOindent :: Int
+            _hdOppconf :: PrettyPrintConfig
+            _tlOforceMultiline :: Bool
+            _tlOindent :: Int
+            _tlOppconf :: PrettyPrintConfig
+            _hdIcomments :: ([MToken])
+            _hdIcopy :: MExpr
+            _hdIendsWithPrefixExpression :: Bool
+            _hdIisAssociative :: Bool
+            _hdIisLiteral :: Bool
+            _hdIisMultiline :: Bool
+            _hdIpos :: Region
+            _hdIprecedence :: OperatorLevel
+            _hdIpretty :: Doc
+            _tlIcomments :: ([MToken])
+            _tlIcopy :: MExprList
+            _tlIisAssociative :: Bool
+            _tlIisLast :: Bool
+            _tlIisMultiline :: Bool
+            _tlIpos :: Region
+            _tlIprecedence :: OperatorLevel
+            _tlIpretty :: Doc
+            _lhsOpretty =
+              ( if _isMultiline then _prettyMultiLine else _prettySingleLine
+              )
+            _prettySingleLine =
+              ( _hdIpretty
+                  <> _comma
+                  <> _tlIpretty
+              )
+            _prettyMultiLine =
+              ( renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine)
+                  $+$ indent _lhsIppconf _lhsIindent _hdIpretty
+                    <> _comma
+                      <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)
+                  $+$ _tlIpretty
+              )
+            _comma =
+              ( if _tlIisLast
+                  then empty
+                  else
+                    (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                      <> zchr ','
+                      <> (if not _isMultiline && spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _commentsBeforeLine =
+              ( span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments
+              )
+            _hdOcomments =
+              ( snd _commentsBeforeLine
+              )
+            _commentsAfter =
+              ( span (\(MToken pos' _) -> pos' `before` _tlIpos) _hdIcomments
+              )
+            _tlOcomments =
+              ( snd _commentsAfter
+              )
+            _lhsOcomments =
+              ( _tlIcomments
+              )
+            _lhsOpos =
+              ( _hdIpos
+              )
+            _lhsOisLast =
+              ( False
+              )
+            _hdOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _hdOparentOperatorAssociative =
+              ( True
+              )
+            _isMultiline =
+              ( _lhsIforceMultiline
+                  || not (null $ fst _commentsBeforeLine)
+                  || not (null $ fst _commentsAfter)
+                  || _lhsIsomeElementsInListAreMultiline
+                  || _hdIisMultiline
+                  || _tlIisMultiline
+              )
+            _tlOsomeElementsInListAreMultiline =
+              ( _lhsIsomeElementsInListAreMultiline
+                  || _hdIisMultiline
+                  || not (null $ fst _commentsBeforeLine)
+                  || not (null $ fst _commentsAfter)
+              )
+            _lhsOisAssociative =
+              ( _hdIisAssociative && _tlIisAssociative
+              )
+            _lhsOprecedence =
+              ( (min _hdIprecedence _tlIprecedence)
+              )
+            _copy =
+              ( (:) _hdIcopy _tlIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _hdOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _hdOindent =
+              ( _lhsIindent
+              )
+            _hdOppconf =
+              ( _lhsIppconf
+              )
+            _tlOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _tlOindent =
+              ( _lhsIindent
+              )
+            _tlOppconf =
+              ( _lhsIppconf
+              )
+            (_hdIcomments, _hdIcopy, _hdIendsWithPrefixExpression, _hdIisAssociative, _hdIisLiteral, _hdIisMultiline, _hdIpos, _hdIprecedence, _hdIpretty) =
+              hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOparentOperatorAssociative _hdOparentOperatorPrecedence _hdOppconf
+            (_tlIcomments, _tlIcopy, _tlIisAssociative, _tlIisLast, _tlIisMultiline, _tlIpos, _tlIprecedence, _tlIpretty) =
+              tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOsomeElementsInListAreMultiline
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLast, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_MExprList_Nil :: T_MExprList
+sem_MExprList_Nil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIsomeElementsInListAreMultiline ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOpos :: Region
+            _lhsOisMultiline :: Bool
+            _lhsOisLast :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: MExprList
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOpos =
+              ( emptyRg
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisLast =
+              ( True
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( []
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLast, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- MStat -------------------------------------------------------
+-- cata
+sem_MStat
+  :: MStat
+  -> T_MStat
+sem_MStat (MStat _pos _stat) =
+  (sem_MStat_MStat _pos (sem_Stat _stat))
+
+-- semantic domain
+type T_MStat =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> Bool
+  -> PrettyPrintConfig
+  -> Bool
+  -> (([MToken]), MStat, Bool, Bool, Region, Doc, Bool, Int)
+data Inh_MStat = Inh_MStat {comments_Inh_MStat :: ([MToken]), forceMultiline_Inh_MStat :: Bool, indent_Inh_MStat :: Int, isLastStatement_Inh_MStat :: Bool, ppconf_Inh_MStat :: PrettyPrintConfig, wouldBeAmbiguousWithoutSemicolon_Inh_MStat :: Bool}
+data Syn_MStat = Syn_MStat {comments_Syn_MStat :: ([MToken]), copy_Syn_MStat :: MStat, endsWithPrefixExpression_Syn_MStat :: Bool, isMultiline_Syn_MStat :: Bool, pos_Syn_MStat :: Region, pretty_Syn_MStat :: Doc, startsWithExprPrefixExpression_Syn_MStat :: Bool, statementCount_Syn_MStat :: Int}
+wrap_MStat
+  :: T_MStat
+  -> Inh_MStat
+  -> Syn_MStat
+wrap_MStat sem (Inh_MStat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpos, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon
+    in
+      (Syn_MStat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisMultiline _lhsOpos _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount)
+  )
+sem_MStat_MStat
+  :: Region
+  -> T_Stat
+  -> T_MStat
+sem_MStat_MStat pos_ stat_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpos :: Region
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _statOstatRegion :: Region
+            _statOwouldBeAmbiguousWithoutSemicolon :: Bool
+            _lhsOstatementCount :: Int
+            _lhsOcopy :: MStat
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty :: Doc
+            _statOcomments :: ([MToken])
+            _statOforceMultiline :: Bool
+            _statOindent :: Int
+            _statOisLastStatement :: Bool
+            _statOppconf :: PrettyPrintConfig
+            _statIcomments :: ([MToken])
+            _statIcopy :: Stat
+            _statIendsWithPrefixExpression :: Bool
+            _statIisMultiline :: Bool
+            _statIpretty :: Doc
+            _statIstartsWithExprPrefixExpression :: Bool
+            _lhsOpos =
+              ( pos_
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _statIstartsWithExprPrefixExpression
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _statIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _statIisMultiline
+              )
+            _statOstatRegion =
+              ( pos_
+              )
+            _statOwouldBeAmbiguousWithoutSemicolon =
+              ( _lhsIwouldBeAmbiguousWithoutSemicolon
+              )
+            _lhsOstatementCount =
+              ( 1
+              )
+            _copy =
+              ( MStat pos_ _statIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _statIcomments
+              )
+            _lhsOpretty =
+              ( _statIpretty
+              )
+            _statOcomments =
+              ( _lhsIcomments
+              )
+            _statOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _statOindent =
+              ( _lhsIindent
+              )
+            _statOisLastStatement =
+              ( _lhsIisLastStatement
+              )
+            _statOppconf =
+              ( _lhsIppconf
+              )
+            (_statIcomments, _statIcopy, _statIendsWithPrefixExpression, _statIisMultiline, _statIpretty, _statIstartsWithExprPrefixExpression) =
+              stat_ _statOcomments _statOforceMultiline _statOindent _statOisLastStatement _statOppconf _statOstatRegion _statOwouldBeAmbiguousWithoutSemicolon
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpos, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount)
+        )
+  )
+
+-- MStatList ---------------------------------------------------
+-- cata
+sem_MStatList
+  :: MStatList
+  -> T_MStatList
+sem_MStatList list =
+  (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))
+
+-- semantic domain
+type T_MStatList =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> Region
+  -> (([MToken]), MStatList, Bool, Bool, Doc, Bool, Int)
+data Inh_MStatList = Inh_MStatList {comments_Inh_MStatList :: ([MToken]), forceMultiline_Inh_MStatList :: Bool, indent_Inh_MStatList :: Int, ppconf_Inh_MStatList :: PrettyPrintConfig, statRegion_Inh_MStatList :: Region}
+data Syn_MStatList = Syn_MStatList {comments_Syn_MStatList :: ([MToken]), copy_Syn_MStatList :: MStatList, isLast_Syn_MStatList :: Bool, isMultiline_Syn_MStatList :: Bool, pretty_Syn_MStatList :: Doc, startsWithExprPrefixExpression_Syn_MStatList :: Bool, statementCount_Syn_MStatList :: Int}
+wrap_MStatList
+  :: T_MStatList
+  -> Inh_MStatList
+  -> Syn_MStatList
+wrap_MStatList sem (Inh_MStatList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion
+    in
+      (Syn_MStatList _lhsOcomments _lhsOcopy _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount)
+  )
+sem_MStatList_Cons
+  :: T_MStat
+  -> T_MStatList
+  -> T_MStatList
+sem_MStatList_Cons hd_ tl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOisLast :: Bool
+            _hdOcomments :: ([MToken])
+            _tlOcomments :: ([MToken])
+            _lhsOcomments :: ([MToken])
+            _hdOisLastStatement :: Bool
+            _hdOwouldBeAmbiguousWithoutSemicolon :: Bool
+            _hdOforceMultiline :: Bool
+            _lhsOstatementCount :: Int
+            _lhsOcopy :: MStatList
+            _lhsOisMultiline :: Bool
+            _hdOindent :: Int
+            _hdOppconf :: PrettyPrintConfig
+            _tlOforceMultiline :: Bool
+            _tlOindent :: Int
+            _tlOppconf :: PrettyPrintConfig
+            _tlOstatRegion :: Region
+            _hdIcomments :: ([MToken])
+            _hdIcopy :: MStat
+            _hdIendsWithPrefixExpression :: Bool
+            _hdIisMultiline :: Bool
+            _hdIpos :: Region
+            _hdIpretty :: Doc
+            _hdIstartsWithExprPrefixExpression :: Bool
+            _hdIstatementCount :: Int
+            _tlIcomments :: ([MToken])
+            _tlIcopy :: MStatList
+            _tlIisLast :: Bool
+            _tlIisMultiline :: Bool
+            _tlIpretty :: Doc
+            _tlIstartsWithExprPrefixExpression :: Bool
+            _tlIstatementCount :: Int
+            _lhsOpretty =
+              ( renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine)
+                  $+$ indent _lhsIppconf _lhsIindent _hdIpretty
+                    <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)
+                    <> _addNewline
+                  $+$ _tlIpretty
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _hdIstartsWithExprPrefixExpression
+              )
+            _lhsOisLast =
+              ( False
+              )
+            _isMultiline =
+              ( _hdIisMultiline
+                  || _tlIisMultiline
+                  || not (null $ fst _commentsBeforeLine)
+                  || not (null $ fst _commentsAfter)
+              )
+            _addNewline =
+              ( if not _tlIisLast && _hdIisMultiline then zchr '\n' else empty
+              )
+            _commentsBeforeLine =
+              ( span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments
+              )
+            _hdOcomments =
+              ( snd _commentsBeforeLine
+              )
+            _commentsAfter =
+              ( span (\(MToken pos' _) -> pos' `beforeOrOnLine` _hdIpos) _hdIcomments
+              )
+            _tlOcomments =
+              ( snd _commentsAfter
+              )
+            _lhsOcomments =
+              ( _tlIcomments
+              )
+            _hdOisLastStatement =
+              ( _tlIisLast
+              )
+            _hdOwouldBeAmbiguousWithoutSemicolon =
+              ( _hdIendsWithPrefixExpression && _tlIstartsWithExprPrefixExpression
+              )
+            _hdOforceMultiline =
+              ( commentsForceMultiline $ fst _commentsBeforeLine
+              )
+            _lhsOstatementCount =
+              ( _hdIstatementCount + _tlIstatementCount
+              )
+            _copy =
+              ( (:) _hdIcopy _tlIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _hdOindent =
+              ( _lhsIindent
+              )
+            _hdOppconf =
+              ( _lhsIppconf
+              )
+            _tlOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _tlOindent =
+              ( _lhsIindent
+              )
+            _tlOppconf =
+              ( _lhsIppconf
+              )
+            _tlOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_hdIcomments, _hdIcopy, _hdIendsWithPrefixExpression, _hdIisMultiline, _hdIpos, _hdIpretty, _hdIstartsWithExprPrefixExpression, _hdIstatementCount) =
+              hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOisLastStatement _hdOppconf _hdOwouldBeAmbiguousWithoutSemicolon
+            (_tlIcomments, _tlIcopy, _tlIisLast, _tlIisMultiline, _tlIpretty, _tlIstartsWithExprPrefixExpression, _tlIstatementCount) =
+              tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount)
+        )
+  )
+sem_MStatList_Nil :: T_MStatList
+sem_MStatList_Nil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf
+     _lhsIstatRegion ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstatementCount :: Int
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisLast :: Bool
+            _lhsOcopy :: MStatList
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOstatementCount =
+              ( 0
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisLast =
+              ( True
+              )
+            _copy =
+              ( []
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount)
+        )
+  )
+
+-- MaybeMExpr --------------------------------------------------
+-- cata
+sem_MaybeMExpr
+  :: MaybeMExpr
+  -> T_MaybeMExpr
+sem_MaybeMExpr (Prelude.Just x) =
+  (sem_MaybeMExpr_Just (sem_MExpr x))
+sem_MaybeMExpr Prelude.Nothing =
+  sem_MaybeMExpr_Nothing
+
+-- semantic domain
+type T_MaybeMExpr =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), MaybeMExpr, Bool, Bool, Bool, Bool, OperatorLevel, Doc)
+data Inh_MaybeMExpr = Inh_MaybeMExpr {comments_Inh_MaybeMExpr :: ([MToken]), forceMultiline_Inh_MaybeMExpr :: Bool, indent_Inh_MaybeMExpr :: Int, ppconf_Inh_MaybeMExpr :: PrettyPrintConfig}
+data Syn_MaybeMExpr = Syn_MaybeMExpr {comments_Syn_MaybeMExpr :: ([MToken]), copy_Syn_MaybeMExpr :: MaybeMExpr, endsWithPrefixExpression_Syn_MaybeMExpr :: Bool, isAssociative_Syn_MaybeMExpr :: Bool, isDefined_Syn_MaybeMExpr :: Bool, isMultiline_Syn_MaybeMExpr :: Bool, precedence_Syn_MaybeMExpr :: OperatorLevel, pretty_Syn_MaybeMExpr :: Doc}
+wrap_MaybeMExpr
+  :: T_MaybeMExpr
+  -> Inh_MaybeMExpr
+  -> Syn_MaybeMExpr
+wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisDefined, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_MaybeMExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisDefined _lhsOisMultiline _lhsOprecedence _lhsOpretty)
+  )
+sem_MaybeMExpr_Just
+  :: T_MExpr
+  -> T_MaybeMExpr
+sem_MaybeMExpr_Just just_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisDefined :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _justOparentOperatorPrecedence :: OperatorLevel
+            _justOparentOperatorAssociative :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: MaybeMExpr
+            _lhsOcomments :: ([MToken])
+            _justOcomments :: ([MToken])
+            _justOforceMultiline :: Bool
+            _justOindent :: Int
+            _justOppconf :: PrettyPrintConfig
+            _justIcomments :: ([MToken])
+            _justIcopy :: MExpr
+            _justIendsWithPrefixExpression :: Bool
+            _justIisAssociative :: Bool
+            _justIisLiteral :: Bool
+            _justIisMultiline :: Bool
+            _justIpos :: Region
+            _justIprecedence :: OperatorLevel
+            _justIpretty :: Doc
+            _lhsOpretty =
+              ( _justIpretty
+              )
+            _lhsOisDefined =
+              ( True
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _justIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _justIisMultiline
+              )
+            _justOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _justOparentOperatorAssociative =
+              ( True
+              )
+            _lhsOisAssociative =
+              ( _justIisAssociative
+              )
+            _lhsOprecedence =
+              ( _justIprecedence
+              )
+            _copy =
+              ( Just _justIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _justIcomments
+              )
+            _justOcomments =
+              ( _lhsIcomments
+              )
+            _justOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _justOindent =
+              ( _lhsIindent
+              )
+            _justOppconf =
+              ( _lhsIppconf
+              )
+            (_justIcomments, _justIcopy, _justIendsWithPrefixExpression, _justIisAssociative, _justIisLiteral, _justIisMultiline, _justIpos, _justIprecedence, _justIpretty) =
+              just_ _justOcomments _justOforceMultiline _justOindent _justOparentOperatorAssociative _justOparentOperatorPrecedence _justOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisDefined, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_MaybeMExpr_Nothing :: T_MaybeMExpr
+sem_MaybeMExpr_Nothing =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisDefined :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: MaybeMExpr
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOisDefined =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( Nothing
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisDefined, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- PFExprSuffix ------------------------------------------------
+-- cata
+sem_PFExprSuffix
+  :: PFExprSuffix
+  -> T_PFExprSuffix
+sem_PFExprSuffix (Call _args) =
+  (sem_PFExprSuffix_Call (sem_Args _args))
+sem_PFExprSuffix (MetaCall _fn _args) =
+  (sem_PFExprSuffix_MetaCall _fn (sem_Args _args))
+sem_PFExprSuffix (ExprIndex _index) =
+  (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))
+sem_PFExprSuffix (DotIndex _index) =
+  (sem_PFExprSuffix_DotIndex _index)
+
+-- semantic domain
+type T_PFExprSuffix =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), PFExprSuffix, Bool, Bool, OperatorLevel, Doc)
+data Inh_PFExprSuffix = Inh_PFExprSuffix {comments_Inh_PFExprSuffix :: ([MToken]), forceMultiline_Inh_PFExprSuffix :: Bool, indent_Inh_PFExprSuffix :: Int, ppconf_Inh_PFExprSuffix :: PrettyPrintConfig}
+data Syn_PFExprSuffix = Syn_PFExprSuffix {comments_Syn_PFExprSuffix :: ([MToken]), copy_Syn_PFExprSuffix :: PFExprSuffix, isAssociative_Syn_PFExprSuffix :: Bool, isMultiline_Syn_PFExprSuffix :: Bool, precedence_Syn_PFExprSuffix :: OperatorLevel, pretty_Syn_PFExprSuffix :: Doc}
+wrap_PFExprSuffix
+  :: T_PFExprSuffix
+  -> Inh_PFExprSuffix
+  -> Syn_PFExprSuffix
+wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_PFExprSuffix _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty)
+  )
+sem_PFExprSuffix_Call
+  :: T_Args
+  -> T_PFExprSuffix
+sem_PFExprSuffix_Call args_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: PFExprSuffix
+            _lhsOcomments :: ([MToken])
+            _argsOcomments :: ([MToken])
+            _argsOforceMultiline :: Bool
+            _argsOindent :: Int
+            _argsOppconf :: PrettyPrintConfig
+            _argsIcomments :: ([MToken])
+            _argsIcopy :: Args
+            _argsIisMultiline :: Bool
+            _argsIpretty :: Doc
+            _lhsOpretty =
+              ( _argsIpretty
+              )
+            _lhsOisMultiline =
+              ( _argsIisMultiline
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( Call _argsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _argsIcomments
+              )
+            _argsOcomments =
+              ( _lhsIcomments
+              )
+            _argsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _argsOindent =
+              ( _lhsIindent
+              )
+            _argsOppconf =
+              ( _lhsIppconf
+              )
+            (_argsIcomments, _argsIcopy, _argsIisMultiline, _argsIpretty) =
+              args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_PFExprSuffix_MetaCall
+  :: MToken
+  -> T_Args
+  -> T_PFExprSuffix
+sem_PFExprSuffix_MetaCall fn_ args_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: PFExprSuffix
+            _lhsOcomments :: ([MToken])
+            _argsOcomments :: ([MToken])
+            _argsOforceMultiline :: Bool
+            _argsOindent :: Int
+            _argsOppconf :: PrettyPrintConfig
+            _argsIcomments :: ([MToken])
+            _argsIcopy :: Args
+            _argsIisMultiline :: Bool
+            _argsIpretty :: Doc
+            _lhsOpretty =
+              ( zchr ':' <> tok fn_ <> _argsIpretty
+              )
+            _lhsOisMultiline =
+              ( _argsIisMultiline
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( MetaCall fn_ _argsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _argsIcomments
+              )
+            _argsOcomments =
+              ( _lhsIcomments
+              )
+            _argsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _argsOindent =
+              ( _lhsIindent
+              )
+            _argsOppconf =
+              ( _lhsIppconf
+              )
+            (_argsIcomments, _argsIcopy, _argsIisMultiline, _argsIpretty) =
+              args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_PFExprSuffix_ExprIndex
+  :: T_MExpr
+  -> T_PFExprSuffix
+sem_PFExprSuffix_ExprIndex index_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _indexOparentOperatorPrecedence :: OperatorLevel
+            _indexOparentOperatorAssociative :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: PFExprSuffix
+            _lhsOcomments :: ([MToken])
+            _indexOcomments :: ([MToken])
+            _indexOforceMultiline :: Bool
+            _indexOindent :: Int
+            _indexOppconf :: PrettyPrintConfig
+            _indexIcomments :: ([MToken])
+            _indexIcopy :: MExpr
+            _indexIendsWithPrefixExpression :: Bool
+            _indexIisAssociative :: Bool
+            _indexIisLiteral :: Bool
+            _indexIisMultiline :: Bool
+            _indexIpos :: Region
+            _indexIprecedence :: OperatorLevel
+            _indexIpretty :: Doc
+            _lhsOpretty =
+              ( brackets _lhsIppconf _indexIpretty
+              )
+            _lhsOisMultiline =
+              ( _indexIisMultiline
+              )
+            _indexOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _indexOparentOperatorAssociative =
+              ( True
+              )
+            _lhsOisAssociative =
+              ( _indexIisAssociative
+              )
+            _lhsOprecedence =
+              ( _indexIprecedence
+              )
+            _copy =
+              ( ExprIndex _indexIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _indexIcomments
+              )
+            _indexOcomments =
+              ( _lhsIcomments
+              )
+            _indexOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _indexOindent =
+              ( _lhsIindent
+              )
+            _indexOppconf =
+              ( _lhsIppconf
+              )
+            (_indexIcomments, _indexIcopy, _indexIendsWithPrefixExpression, _indexIisAssociative, _indexIisLiteral, _indexIisMultiline, _indexIpos, _indexIprecedence, _indexIpretty) =
+              index_ _indexOcomments _indexOforceMultiline _indexOindent _indexOparentOperatorAssociative _indexOparentOperatorPrecedence _indexOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+sem_PFExprSuffix_DotIndex
+  :: MToken
+  -> T_PFExprSuffix
+sem_PFExprSuffix_DotIndex index_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: PFExprSuffix
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zchr '.' <> tok index_
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisAssociative =
+              ( False
+              )
+            _lhsOprecedence =
+              ( OperatorLevel8
+              )
+            _copy =
+              ( DotIndex index_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)
+        )
+  )
+
+-- PrefixExp ---------------------------------------------------
+-- cata
+sem_PrefixExp
+  :: PrefixExp
+  -> T_PrefixExp
+sem_PrefixExp (PFVar _name _suffixes) =
+  (sem_PrefixExp_PFVar _name (sem_ExprSuffixList _suffixes))
+sem_PrefixExp (ExprVar _expr _suffixes) =
+  (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))
+
+-- semantic domain
+type T_PrefixExp =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> Bool
+  -> OperatorLevel
+  -> PrettyPrintConfig
+  -> (([MToken]), PrefixExp, Bool, Bool, Bool, OperatorLevel, Doc, Bool)
+data Inh_PrefixExp = Inh_PrefixExp {comments_Inh_PrefixExp :: ([MToken]), forceMultiline_Inh_PrefixExp :: Bool, indent_Inh_PrefixExp :: Int, parentOperatorAssociative_Inh_PrefixExp :: Bool, parentOperatorPrecedence_Inh_PrefixExp :: OperatorLevel, ppconf_Inh_PrefixExp :: PrettyPrintConfig}
+data Syn_PrefixExp = Syn_PrefixExp {comments_Syn_PrefixExp :: ([MToken]), copy_Syn_PrefixExp :: PrefixExp, isAssociative_Syn_PrefixExp :: Bool, isLiteral_Syn_PrefixExp :: Bool, isMultiline_Syn_PrefixExp :: Bool, precedence_Syn_PrefixExp :: OperatorLevel, pretty_Syn_PrefixExp :: Doc, startsWithExprPrefixExpression_Syn_PrefixExp :: Bool}
+wrap_PrefixExp
+  :: T_PrefixExp
+  -> Inh_PrefixExp
+  -> Syn_PrefixExp
+wrap_PrefixExp sem (Inh_PrefixExp _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty, _lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf
+    in
+      (Syn_PrefixExp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty _lhsOstartsWithExprPrefixExpression)
+  )
+sem_PrefixExp_PFVar
+  :: MToken
+  -> T_ExprSuffixList
+  -> T_PrefixExp
+sem_PrefixExp_PFVar name_ suffixes_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisLiteral :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOprecedence :: OperatorLevel
+            _lhsOcopy :: PrefixExp
+            _lhsOcomments :: ([MToken])
+            _suffixesOcomments :: ([MToken])
+            _suffixesOforceMultiline :: Bool
+            _suffixesOindent :: Int
+            _suffixesOppconf :: PrettyPrintConfig
+            _suffixesIcomments :: ([MToken])
+            _suffixesIcopy :: ExprSuffixList
+            _suffixesIisAssociative :: Bool
+            _suffixesIisMultiline :: Bool
+            _suffixesIprecedence :: OperatorLevel
+            _suffixesIpretty :: Doc
+            _lhsOpretty =
+              ( tok name_ <> _suffixesIpretty
+              )
+            _lhsOisLiteral =
+              ( False
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( _suffixesIisMultiline
+              )
+            _lhsOisAssociative =
+              ( _suffixesIisAssociative
+              )
+            _lhsOprecedence =
+              ( _suffixesIprecedence
+              )
+            _copy =
+              ( PFVar name_ _suffixesIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _suffixesIcomments
+              )
+            _suffixesOcomments =
+              ( _lhsIcomments
+              )
+            _suffixesOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _suffixesOindent =
+              ( _lhsIindent
+              )
+            _suffixesOppconf =
+              ( _lhsIppconf
+              )
+            (_suffixesIcomments, _suffixesIcopy, _suffixesIisAssociative, _suffixesIisMultiline, _suffixesIprecedence, _suffixesIpretty) =
+              suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_PrefixExp_ExprVar
+  :: T_MExpr
+  -> T_ExprSuffixList
+  -> T_PrefixExp
+sem_PrefixExp_ExprVar expr_ suffixes_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIparentOperatorAssociative
+     _lhsIparentOperatorPrecedence
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOprecedence :: OperatorLevel
+            _lhsOisLiteral :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisAssociative :: Bool
+            _lhsOcopy :: PrefixExp
+            _lhsOcomments :: ([MToken])
+            _exprOcomments :: ([MToken])
+            _exprOforceMultiline :: Bool
+            _exprOindent :: Int
+            _exprOparentOperatorAssociative :: Bool
+            _exprOparentOperatorPrecedence :: OperatorLevel
+            _exprOppconf :: PrettyPrintConfig
+            _suffixesOcomments :: ([MToken])
+            _suffixesOforceMultiline :: Bool
+            _suffixesOindent :: Int
+            _suffixesOppconf :: PrettyPrintConfig
+            _exprIcomments :: ([MToken])
+            _exprIcopy :: MExpr
+            _exprIendsWithPrefixExpression :: Bool
+            _exprIisAssociative :: Bool
+            _exprIisLiteral :: Bool
+            _exprIisMultiline :: Bool
+            _exprIpos :: Region
+            _exprIprecedence :: OperatorLevel
+            _exprIpretty :: Doc
+            _suffixesIcomments :: ([MToken])
+            _suffixesIcopy :: ExprSuffixList
+            _suffixesIisAssociative :: Bool
+            _suffixesIisMultiline :: Bool
+            _suffixesIprecedence :: OperatorLevel
+            _suffixesIpretty :: Doc
+            _lhsOpretty =
+              ( (if _noparens then _exprIpretty else parens _lhsIppconf NonEmpty _exprIpretty)
+                  <> _suffixesIpretty
+              )
+            _lhsOprecedence =
+              ( if _noparens then _exprIprecedence else OperatorLevel8
+              )
+            _lhsOisLiteral =
+              ( False
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( True
+              )
+            _lhsOisMultiline =
+              ( _exprIisMultiline || _suffixesIisMultiline
+              )
+            _containsParenthesizedExpr =
+              ( case _exprIcopy of
+                  MExpr _ (APrefixExpr (ExprVar (MExpr _ AVarArg) _)) -> False
+                  MExpr _ (APrefixExpr _) -> True
+                  _ -> False
+              )
+            _noparens =
+              ( (removeRedundantParens _lhsIppconf || minimizeParens _lhsIppconf)
+                  && ( _containsParenthesizedExpr
+                        || (_lhsIparentOperatorPrecedence == TopLevelExpression || _exprIisLiteral)
+                          && length _suffixesIcopy == 0
+                     )
+                  || ( minimizeParens _lhsIppconf
+                        && length _suffixesIcopy == 0
+                        && ( _lhsIparentOperatorPrecedence < _exprIprecedence
+                              || assumeOperatorAssociativity _lhsIppconf
+                                && _lhsIparentOperatorPrecedence == _exprIprecedence
+                                && _lhsIparentOperatorAssociative
+                           )
+                     )
+              )
+            _lhsOisAssociative =
+              ( _exprIisAssociative && _suffixesIisAssociative
+              )
+            _copy =
+              ( ExprVar _exprIcopy _suffixesIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _suffixesIcomments
+              )
+            _exprOcomments =
+              ( _lhsIcomments
+              )
+            _exprOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _exprOindent =
+              ( _lhsIindent
+              )
+            _exprOparentOperatorAssociative =
+              ( _lhsIparentOperatorAssociative
+              )
+            _exprOparentOperatorPrecedence =
+              ( _lhsIparentOperatorPrecedence
+              )
+            _exprOppconf =
+              ( _lhsIppconf
+              )
+            _suffixesOcomments =
+              ( _exprIcomments
+              )
+            _suffixesOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _suffixesOindent =
+              ( _lhsIindent
+              )
+            _suffixesOppconf =
+              ( _lhsIppconf
+              )
+            (_exprIcomments, _exprIcopy, _exprIendsWithPrefixExpression, _exprIisAssociative, _exprIisLiteral, _exprIisMultiline, _exprIpos, _exprIprecedence, _exprIpretty) =
+              expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf
+            (_suffixesIcomments, _suffixesIcopy, _suffixesIisAssociative, _suffixesIisMultiline, _suffixesIprecedence, _suffixesIpretty) =
+              suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+
+-- Stat --------------------------------------------------------
+-- cata
+sem_Stat
+  :: Stat
+  -> T_Stat
+sem_Stat (Def _vars) =
+  (sem_Stat_Def (sem_VarsList _vars))
+sem_Stat (LocDef _vars) =
+  (sem_Stat_LocDef (sem_VarsList _vars))
+sem_Stat (AFuncCall _fn) =
+  (sem_Stat_AFuncCall (sem_PrefixExp _fn))
+sem_Stat (ALabel _lbl) =
+  (sem_Stat_ALabel _lbl)
+sem_Stat (ABreak) =
+  (sem_Stat_ABreak)
+sem_Stat (AContinue) =
+  (sem_Stat_AContinue)
+sem_Stat (AGoto _lbl) =
+  (sem_Stat_AGoto _lbl)
+sem_Stat (ADo _body) =
+  (sem_Stat_ADo (sem_Block _body))
+sem_Stat (AWhile _cond _body) =
+  (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))
+sem_Stat (ARepeat _body _cond) =
+  (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))
+sem_Stat (AIf _cond _body _elifs _els) =
+  (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))
+sem_Stat (ANFor _var _val _to _step _body) =
+  (sem_Stat_ANFor _var (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))
+sem_Stat (AGFor _vars _vals _body) =
+  (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))
+sem_Stat (AFunc _name _args _body) =
+  (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))
+sem_Stat (ALocFunc _name _args _body) =
+  (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))
+
+-- semantic domain
+type T_Stat =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> Bool
+  -> PrettyPrintConfig
+  -> Region
+  -> Bool
+  -> (([MToken]), Stat, Bool, Bool, Doc, Bool)
+data Inh_Stat = Inh_Stat {comments_Inh_Stat :: ([MToken]), forceMultiline_Inh_Stat :: Bool, indent_Inh_Stat :: Int, isLastStatement_Inh_Stat :: Bool, ppconf_Inh_Stat :: PrettyPrintConfig, statRegion_Inh_Stat :: Region, wouldBeAmbiguousWithoutSemicolon_Inh_Stat :: Bool}
+data Syn_Stat = Syn_Stat {comments_Syn_Stat :: ([MToken]), copy_Syn_Stat :: Stat, endsWithPrefixExpression_Syn_Stat :: Bool, isMultiline_Syn_Stat :: Bool, pretty_Syn_Stat :: Doc, startsWithExprPrefixExpression_Syn_Stat :: Bool}
+wrap_Stat
+  :: T_Stat
+  -> Inh_Stat
+  -> Syn_Stat
+wrap_Stat sem (Inh_Stat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon
+    in
+      (Syn_Stat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression)
+  )
+sem_Stat_Def
+  :: T_VarsList
+  -> T_Stat
+sem_Stat_Def vars_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _varsOcomments :: ([MToken])
+            _varsOforceMultiline :: Bool
+            _varsOindent :: Int
+            _varsOppconf :: PrettyPrintConfig
+            _varsIcomments :: ([MToken])
+            _varsIcopy :: VarsList
+            _varsIendsWithPrefixExpression :: Bool
+            _varsIexprPretty :: Doc
+            _varsIisDefined :: Bool
+            _varsIisLast :: Bool
+            _varsIisMultiline :: Bool
+            _varsIpretty :: Doc
+            _varsIstartsWithExprPrefixExpression :: Bool
+            _varsIvarPretty :: Doc
+            _lhsOpretty =
+              ( _varsIpretty <> _semicolon
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _varsIstartsWithExprPrefixExpression
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _varsIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _varsIisMultiline
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon
+                  then zchr ';'
+                  else empty
+              )
+            _copy =
+              ( Def _varsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _varsIcomments
+              )
+            _varsOcomments =
+              ( _lhsIcomments
+              )
+            _varsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _varsOindent =
+              ( _lhsIindent
+              )
+            _varsOppconf =
+              ( _lhsIppconf
+              )
+            (_varsIcomments, _varsIcopy, _varsIendsWithPrefixExpression, _varsIexprPretty, _varsIisDefined, _varsIisLast, _varsIisMultiline, _varsIpretty, _varsIstartsWithExprPrefixExpression, _varsIvarPretty) =
+              vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_LocDef
+  :: T_VarsList
+  -> T_Stat
+sem_Stat_LocDef vars_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _varsOcomments :: ([MToken])
+            _varsOforceMultiline :: Bool
+            _varsOindent :: Int
+            _varsOppconf :: PrettyPrintConfig
+            _varsIcomments :: ([MToken])
+            _varsIcopy :: VarsList
+            _varsIendsWithPrefixExpression :: Bool
+            _varsIexprPretty :: Doc
+            _varsIisDefined :: Bool
+            _varsIisLast :: Bool
+            _varsIisMultiline :: Bool
+            _varsIpretty :: Doc
+            _varsIstartsWithExprPrefixExpression :: Bool
+            _varsIvarPretty :: Doc
+            _lhsOpretty =
+              ( zeroWidthText "local" <-> _varsIpretty <> _semicolon
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _varsIstartsWithExprPrefixExpression
+              )
+            _lhsOendsWithPrefixExpression =
+              ( _varsIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _varsIisMultiline
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon
+                  then zchr ';'
+                  else empty
+              )
+            _copy =
+              ( LocDef _varsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _varsIcomments
+              )
+            _varsOcomments =
+              ( _lhsIcomments
+              )
+            _varsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _varsOindent =
+              ( _lhsIindent
+              )
+            _varsOppconf =
+              ( _lhsIppconf
+              )
+            (_varsIcomments, _varsIcopy, _varsIendsWithPrefixExpression, _varsIexprPretty, _varsIisDefined, _varsIisLast, _varsIisMultiline, _varsIpretty, _varsIstartsWithExprPrefixExpression, _varsIvarPretty) =
+              vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AFuncCall
+  :: T_PrefixExp
+  -> T_Stat
+sem_Stat_AFuncCall fn_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _fnOparentOperatorPrecedence :: OperatorLevel
+            _fnOparentOperatorAssociative :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _fnOcomments :: ([MToken])
+            _fnOforceMultiline :: Bool
+            _fnOindent :: Int
+            _fnOppconf :: PrettyPrintConfig
+            _fnIcomments :: ([MToken])
+            _fnIcopy :: PrefixExp
+            _fnIisAssociative :: Bool
+            _fnIisLiteral :: Bool
+            _fnIisMultiline :: Bool
+            _fnIprecedence :: OperatorLevel
+            _fnIpretty :: Doc
+            _fnIstartsWithExprPrefixExpression :: Bool
+            _lhsOpretty =
+              ( _fnIpretty <> _semicolon
+              )
+            _lhsOisMultiline =
+              ( _fnIisMultiline
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf then zchr ';' else empty
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _fnIstartsWithExprPrefixExpression
+              )
+            _lhsOendsWithPrefixExpression =
+              ( True
+              )
+            _fnOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _fnOparentOperatorAssociative =
+              ( True
+              )
+            _copy =
+              ( AFuncCall _fnIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _fnIcomments
+              )
+            _fnOcomments =
+              ( _lhsIcomments
+              )
+            _fnOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _fnOindent =
+              ( _lhsIindent
+              )
+            _fnOppconf =
+              ( _lhsIppconf
+              )
+            (_fnIcomments, _fnIcopy, _fnIisAssociative, _fnIisLiteral, _fnIisMultiline, _fnIprecedence, _fnIpretty, _fnIstartsWithExprPrefixExpression) =
+              fn_ _fnOcomments _fnOforceMultiline _fnOindent _fnOparentOperatorAssociative _fnOparentOperatorPrecedence _fnOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_ALabel
+  :: MToken
+  -> T_Stat
+sem_Stat_ALabel lbl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "::"
+                  <> _whitespace
+                  <> tok lbl_
+                  <> _whitespace
+                  <> zeroWidthText "::"
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _whitespace =
+              ( if spaceAfterLabel _lhsIppconf then zeroWidthText " " else empty
+              )
+            _copy =
+              ( ALabel lbl_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_ABreak :: T_Stat
+sem_Stat_ABreak =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "break" <> _semicolon
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf then zchr ';' else empty
+              )
+            _copy =
+              ( ABreak
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AContinue :: T_Stat
+sem_Stat_AContinue =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "continue" <> _semicolon
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf then zchr ';' else empty
+              )
+            _copy =
+              ( AContinue
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AGoto
+  :: MToken
+  -> T_Stat
+sem_Stat_AGoto lbl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "goto" <-> tok lbl_ <> _semicolon
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _semicolon =
+              ( if semicolons _lhsIppconf then zchr ';' else empty
+              )
+            _copy =
+              ( AGoto lbl_
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_ADo
+  :: T_Block
+  -> T_Stat
+sem_Stat_ADo body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOisMultiline :: Bool
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _bodyOindent :: Int
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOisMultiline =
+              ( True
+              )
+            _lhsOpretty =
+              ( zeroWidthText "do"
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _copy =
+              ( ADo _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _bodyOcomments =
+              ( _lhsIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AWhile
+  :: T_MExpr
+  -> T_Block
+  -> T_Stat
+sem_Stat_AWhile cond_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOisMultiline :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _condOparentOperatorPrecedence :: OperatorLevel
+            _condOparentOperatorAssociative :: Bool
+            _lhsOpretty :: Doc
+            _bodyOindent :: Int
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _condOcomments :: ([MToken])
+            _condOforceMultiline :: Bool
+            _condOindent :: Int
+            _condOppconf :: PrettyPrintConfig
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _condIcomments :: ([MToken])
+            _condIcopy :: MExpr
+            _condIendsWithPrefixExpression :: Bool
+            _condIisAssociative :: Bool
+            _condIisLiteral :: Bool
+            _condIisMultiline :: Bool
+            _condIpos :: Region
+            _condIprecedence :: OperatorLevel
+            _condIpretty :: Doc
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOisMultiline =
+              ( True
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _condOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _condOparentOperatorAssociative =
+              ( True
+              )
+            _lhsOpretty =
+              ( zeroWidthText "while"
+                  <-> _condIpretty
+                  <-> zeroWidthText "do"
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _copy =
+              ( AWhile _condIcopy _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _condOcomments =
+              ( _lhsIcomments
+              )
+            _condOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _condOindent =
+              ( _lhsIindent
+              )
+            _condOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOcomments =
+              ( _condIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_condIcomments, _condIcopy, _condIendsWithPrefixExpression, _condIisAssociative, _condIisLiteral, _condIisMultiline, _condIpos, _condIprecedence, _condIpretty) =
+              cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_ARepeat
+  :: T_Block
+  -> T_MExpr
+  -> T_Stat
+sem_Stat_ARepeat body_ cond_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _bodyOindent :: Int
+            _condOparentOperatorPrecedence :: OperatorLevel
+            _condOparentOperatorAssociative :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _condOcomments :: ([MToken])
+            _condOforceMultiline :: Bool
+            _condOindent :: Int
+            _condOppconf :: PrettyPrintConfig
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _condIcomments :: ([MToken])
+            _condIcopy :: MExpr
+            _condIendsWithPrefixExpression :: Bool
+            _condIisAssociative :: Bool
+            _condIisLiteral :: Bool
+            _condIisMultiline :: Bool
+            _condIpos :: Region
+            _condIprecedence :: OperatorLevel
+            _condIpretty :: Doc
+            _lhsOpretty =
+              ( zeroWidthText "repeat"
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "until" <-> _condIpretty)
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( True
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _condOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _condOparentOperatorAssociative =
+              ( True
+              )
+            _copy =
+              ( ARepeat _bodyIcopy _condIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _condIcomments
+              )
+            _bodyOcomments =
+              ( _lhsIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            _condOcomments =
+              ( _bodyIcomments
+              )
+            _condOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _condOindent =
+              ( _lhsIindent
+              )
+            _condOppconf =
+              ( _lhsIppconf
+              )
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+            (_condIcomments, _condIcopy, _condIendsWithPrefixExpression, _condIisAssociative, _condIisLiteral, _condIisMultiline, _condIpos, _condIprecedence, _condIpretty) =
+              cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AIf
+  :: T_MExpr
+  -> T_Block
+  -> T_ElseIfList
+  -> T_Else
+  -> T_Stat
+sem_Stat_AIf cond_ body_ elifs_ els_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _condOcomments :: ([MToken])
+            _condOparentOperatorPrecedence :: OperatorLevel
+            _condOparentOperatorAssociative :: Bool
+            _bodyOindent :: Int
+            _bodyOstatRegion :: Region
+            _lhsOpretty :: Doc
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _lhsOisMultiline :: Bool
+            _condOforceMultiline :: Bool
+            _condOindent :: Int
+            _condOppconf :: PrettyPrintConfig
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _elifsOcomments :: ([MToken])
+            _elifsOforceMultiline :: Bool
+            _elifsOindent :: Int
+            _elifsOppconf :: PrettyPrintConfig
+            _elsOcomments :: ([MToken])
+            _elsOforceMultiline :: Bool
+            _elsOindent :: Int
+            _elsOppconf :: PrettyPrintConfig
+            _elsOstatRegion :: Region
+            _condIcomments :: ([MToken])
+            _condIcopy :: MExpr
+            _condIendsWithPrefixExpression :: Bool
+            _condIisAssociative :: Bool
+            _condIisLiteral :: Bool
+            _condIisMultiline :: Bool
+            _condIpos :: Region
+            _condIprecedence :: OperatorLevel
+            _condIpretty :: Doc
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _elifsIcomments :: ([MToken])
+            _elifsIcopy :: ElseIfList
+            _elifsIelsesExist :: Bool
+            _elifsIisMultiline :: Bool
+            _elifsIpos :: Region
+            _elifsIpretty :: Doc
+            _elsIcomments :: ([MToken])
+            _elsIcopy :: Else
+            _elsIelsesExist :: Bool
+            _elsIisMultiline :: Bool
+            _elsIpos :: Region
+            _elsIpretty :: Doc
+            _isMultiline =
+              ( _lhsIforceMultiline
+                  || _condIisMultiline
+                  || _bodyIisMultiline
+                  || _elifsIelsesExist
+                  || _elsIelsesExist
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _singleLinePretty =
+              ( zeroWidthText "if"
+                  <-> _condIpretty
+                  <-> zeroWidthText "then"
+                  <-> _bodyIpretty
+                  <-> zeroWidthText "end"
+                  <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen)
+              )
+            _multilinePretty =
+              ( zeroWidthText "if"
+                  <-> _condIpretty
+                  <-> zeroWidthText "then"
+                  <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen)
+                  $+$ _bodyIpretty
+                  $+$ _elifsIpretty
+                  $+$ _elsIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _commentsAfterThen =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` _condIpos) _lhsIcomments
+              )
+            _condOcomments =
+              ( snd _commentsAfterThen
+              )
+            _condOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _condOparentOperatorAssociative =
+              ( True
+              )
+            _bodyOindent =
+              ( if _isMultiline then _lhsIindent + 1 else 0
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion `upto` _elifsIpos `upto` _elsIpos
+              )
+            _lhsOpretty =
+              ( if _isMultiline then _multilinePretty else _singleLinePretty
+              )
+            _copy =
+              ( AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _elsIcomments
+              )
+            _lhsOisMultiline =
+              ( _isMultiline
+              )
+            _condOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _condOindent =
+              ( _lhsIindent
+              )
+            _condOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOcomments =
+              ( _condIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _elifsOcomments =
+              ( _bodyIcomments
+              )
+            _elifsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _elifsOindent =
+              ( _lhsIindent
+              )
+            _elifsOppconf =
+              ( _lhsIppconf
+              )
+            _elsOcomments =
+              ( _elifsIcomments
+              )
+            _elsOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _elsOindent =
+              ( _lhsIindent
+              )
+            _elsOppconf =
+              ( _lhsIppconf
+              )
+            _elsOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_condIcomments, _condIcopy, _condIendsWithPrefixExpression, _condIisAssociative, _condIisLiteral, _condIisMultiline, _condIpos, _condIprecedence, _condIpretty) =
+              cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+            (_elifsIcomments, _elifsIcopy, _elifsIelsesExist, _elifsIisMultiline, _elifsIpos, _elifsIpretty) =
+              elifs_ _elifsOcomments _elifsOforceMultiline _elifsOindent _elifsOppconf
+            (_elsIcomments, _elsIcopy, _elsIelsesExist, _elsIisMultiline, _elsIpos, _elsIpretty) =
+              els_ _elsOcomments _elsOforceMultiline _elsOindent _elsOppconf _elsOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_ANFor
+  :: MToken
+  -> T_MExpr
+  -> T_MExpr
+  -> T_MExpr
+  -> T_Block
+  -> T_Stat
+sem_Stat_ANFor var_ val_ to_ step_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOisMultiline :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOpretty :: Doc
+            _valOcomments :: ([MToken])
+            _valOparentOperatorPrecedence :: OperatorLevel
+            _valOparentOperatorAssociative :: Bool
+            _toOparentOperatorPrecedence :: OperatorLevel
+            _toOparentOperatorAssociative :: Bool
+            _stepOparentOperatorPrecedence :: OperatorLevel
+            _stepOparentOperatorAssociative :: Bool
+            _bodyOindent :: Int
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _valOforceMultiline :: Bool
+            _valOindent :: Int
+            _valOppconf :: PrettyPrintConfig
+            _toOcomments :: ([MToken])
+            _toOforceMultiline :: Bool
+            _toOindent :: Int
+            _toOppconf :: PrettyPrintConfig
+            _stepOcomments :: ([MToken])
+            _stepOforceMultiline :: Bool
+            _stepOindent :: Int
+            _stepOppconf :: PrettyPrintConfig
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _valIcomments :: ([MToken])
+            _valIcopy :: MExpr
+            _valIendsWithPrefixExpression :: Bool
+            _valIisAssociative :: Bool
+            _valIisLiteral :: Bool
+            _valIisMultiline :: Bool
+            _valIpos :: Region
+            _valIprecedence :: OperatorLevel
+            _valIpretty :: Doc
+            _toIcomments :: ([MToken])
+            _toIcopy :: MExpr
+            _toIendsWithPrefixExpression :: Bool
+            _toIisAssociative :: Bool
+            _toIisLiteral :: Bool
+            _toIisMultiline :: Bool
+            _toIpos :: Region
+            _toIprecedence :: OperatorLevel
+            _toIpretty :: Doc
+            _stepIcomments :: ([MToken])
+            _stepIcopy :: MExpr
+            _stepIendsWithPrefixExpression :: Bool
+            _stepIisAssociative :: Bool
+            _stepIisLiteral :: Bool
+            _stepIisMultiline :: Bool
+            _stepIpos :: Region
+            _stepIprecedence :: OperatorLevel
+            _stepIpretty :: Doc
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOisMultiline =
+              ( True
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _step =
+              ( case _stepIcopy of
+                  MExpr _ (ANumber "1") -> empty
+                  _ -> _comma <> _stepIpretty
+              )
+            _lhsOpretty =
+              ( zeroWidthText "for"
+                  <-> tok var_
+                  <-> zchr '='
+                  <-> _valIpretty
+                  <> _comma
+                  <> _toIpretty
+                  <> _step
+                    <-> zeroWidthText "do"
+                    <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor)
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _comma =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                  <> zchr ','
+                  <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _commentsAfterFor =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` mpos var_) _lhsIcomments
+              )
+            _valOcomments =
+              ( snd _commentsAfterFor
+              )
+            _valOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _valOparentOperatorAssociative =
+              ( True
+              )
+            _toOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _toOparentOperatorAssociative =
+              ( True
+              )
+            _stepOparentOperatorPrecedence =
+              ( TopLevelExpression
+              )
+            _stepOparentOperatorAssociative =
+              ( True
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _copy =
+              ( ANFor var_ _valIcopy _toIcopy _stepIcopy _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _valOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _valOindent =
+              ( _lhsIindent
+              )
+            _valOppconf =
+              ( _lhsIppconf
+              )
+            _toOcomments =
+              ( _valIcomments
+              )
+            _toOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _toOindent =
+              ( _lhsIindent
+              )
+            _toOppconf =
+              ( _lhsIppconf
+              )
+            _stepOcomments =
+              ( _toIcomments
+              )
+            _stepOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _stepOindent =
+              ( _lhsIindent
+              )
+            _stepOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOcomments =
+              ( _stepIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_valIcomments, _valIcopy, _valIendsWithPrefixExpression, _valIisAssociative, _valIisLiteral, _valIisMultiline, _valIpos, _valIprecedence, _valIpretty) =
+              val_ _valOcomments _valOforceMultiline _valOindent _valOparentOperatorAssociative _valOparentOperatorPrecedence _valOppconf
+            (_toIcomments, _toIcopy, _toIendsWithPrefixExpression, _toIisAssociative, _toIisLiteral, _toIisMultiline, _toIpos, _toIprecedence, _toIpretty) =
+              to_ _toOcomments _toOforceMultiline _toOindent _toOparentOperatorAssociative _toOparentOperatorPrecedence _toOppconf
+            (_stepIcomments, _stepIcopy, _stepIendsWithPrefixExpression, _stepIisAssociative, _stepIisLiteral, _stepIisMultiline, _stepIpos, _stepIprecedence, _stepIpretty) =
+              step_ _stepOcomments _stepOforceMultiline _stepOindent _stepOparentOperatorAssociative _stepOparentOperatorPrecedence _stepOppconf
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AGFor
+  :: ([MToken])
+  -> T_MExprList
+  -> T_Block
+  -> T_Stat
+sem_Stat_AGFor vars_ vals_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOisMultiline :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOpretty :: Doc
+            _bodyOindent :: Int
+            _valsOcomments :: ([MToken])
+            _valsOforceMultiline :: Bool
+            _valsOsomeElementsInListAreMultiline :: Bool
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _valsOindent :: Int
+            _valsOppconf :: PrettyPrintConfig
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _valsIcomments :: ([MToken])
+            _valsIcopy :: MExprList
+            _valsIisAssociative :: Bool
+            _valsIisLast :: Bool
+            _valsIisMultiline :: Bool
+            _valsIpos :: Region
+            _valsIprecedence :: OperatorLevel
+            _valsIpretty :: Doc
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOisMultiline =
+              ( True
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOpretty =
+              ( zeroWidthText "for"
+                  <-> printList tok (render _comma) vars_
+                  <-> zeroWidthText "in"
+                  <-> _valsIpretty
+                  <-> zeroWidthText "do"
+                  <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor)
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _comma =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                  <> zchr ','
+                  <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _commentsAfterFor =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` mpos (head vars_)) _lhsIcomments
+              )
+            _valsOcomments =
+              ( snd _commentsAfterFor
+              )
+            _valsOforceMultiline =
+              ( False
+              )
+            _valsOsomeElementsInListAreMultiline =
+              ( False
+              )
+            _copy =
+              ( AGFor vars_ _valsIcopy _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _valsOindent =
+              ( _lhsIindent
+              )
+            _valsOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOcomments =
+              ( _valsIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_valsIcomments, _valsIcopy, _valsIisAssociative, _valsIisLast, _valsIisMultiline, _valsIpos, _valsIprecedence, _valsIpretty) =
+              vals_ _valsOcomments _valsOforceMultiline _valsOindent _valsOppconf _valsOsomeElementsInListAreMultiline
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_AFunc
+  :: T_FuncName
+  -> ([MToken])
+  -> T_Block
+  -> T_Stat
+sem_Stat_AFunc name_ args_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOisMultiline :: Bool
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOpretty :: Doc
+            _nameOcomments :: ([MToken])
+            _bodyOindent :: Int
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _nameOindent :: Int
+            _nameOppconf :: PrettyPrintConfig
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _nameIcomments :: ([MToken])
+            _nameIcopy :: FuncName
+            _nameIisMultiline :: Bool
+            _nameIpos :: Region
+            _nameIpretty :: Doc
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOisMultiline =
+              ( True
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOpretty =
+              ( zeroWidthText "function"
+                  <-> _nameIpretty
+                  <> parens _lhsIppconf _emptyParams (printList tok (render _comma) args_)
+                    <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc)
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _commentsAfterFunc =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments
+              )
+            _nameOcomments =
+              ( snd _commentsAfterFunc
+              )
+            _emptyParams =
+              ( toEmpty $ null args_
+              )
+            _comma =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                  <> zchr ','
+                  <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _copy =
+              ( AFunc _nameIcopy args_ _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _nameOindent =
+              ( _lhsIindent
+              )
+            _nameOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOcomments =
+              ( _nameIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_nameIcomments, _nameIcopy, _nameIisMultiline, _nameIpos, _nameIpretty) =
+              name_ _nameOcomments _nameOindent _nameOppconf
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+sem_Stat_ALocFunc
+  :: T_FuncName
+  -> ([MToken])
+  -> T_Block
+  -> T_Stat
+sem_Stat_ALocFunc name_ args_ body_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIisLastStatement
+     _lhsIppconf
+     _lhsIstatRegion
+     _lhsIwouldBeAmbiguousWithoutSemicolon ->
+        ( let
+            _lhsOisMultiline :: Bool
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _nameOcomments :: ([MToken])
+            _bodyOindent :: Int
+            _lhsOcopy :: Stat
+            _lhsOcomments :: ([MToken])
+            _nameOindent :: Int
+            _nameOppconf :: PrettyPrintConfig
+            _bodyOcomments :: ([MToken])
+            _bodyOforceMultiline :: Bool
+            _bodyOppconf :: PrettyPrintConfig
+            _bodyOstatRegion :: Region
+            _nameIcomments :: ([MToken])
+            _nameIcopy :: FuncName
+            _nameIisMultiline :: Bool
+            _nameIpos :: Region
+            _nameIpretty :: Doc
+            _bodyIcomments :: ([MToken])
+            _bodyIcopy :: Block
+            _bodyIisMultiline :: Bool
+            _bodyIpretty :: Doc
+            _bodyIstatementCount :: Int
+            _lhsOisMultiline =
+              ( True
+              )
+            _lhsOpretty =
+              ( zeroWidthText "local function"
+                  <-> _nameIpretty
+                  <> parens _lhsIppconf _emptyParams (printList tok (render _comma) args_)
+                    <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc)
+                  $+$ _bodyIpretty
+                  $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _commentsAfterFunc =
+              ( span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments
+              )
+            _nameOcomments =
+              ( snd _commentsAfterFunc
+              )
+            _emptyParams =
+              ( toEmpty $ null args_
+              )
+            _comma =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                  <> zchr ','
+                  <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _bodyOindent =
+              ( _lhsIindent + 1
+              )
+            _copy =
+              ( ALocFunc _nameIcopy args_ _bodyIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _bodyIcomments
+              )
+            _nameOindent =
+              ( _lhsIindent
+              )
+            _nameOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOcomments =
+              ( _nameIcomments
+              )
+            _bodyOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _bodyOppconf =
+              ( _lhsIppconf
+              )
+            _bodyOstatRegion =
+              ( _lhsIstatRegion
+              )
+            (_nameIcomments, _nameIcopy, _nameIisMultiline, _nameIpos, _nameIpretty) =
+              name_ _nameOcomments _nameOindent _nameOppconf
+            (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =
+              body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)
+        )
+  )
+
+-- UnOp --------------------------------------------------------
+-- cata
+sem_UnOp
+  :: UnOp
+  -> T_UnOp
+sem_UnOp (UnMinus) =
+  (sem_UnOp_UnMinus)
+sem_UnOp (ANot) =
+  (sem_UnOp_ANot)
+sem_UnOp (AHash) =
+  (sem_UnOp_AHash)
+
+-- semantic domain
+type T_UnOp =
+  ([MToken])
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), UnOp, Bool, Doc)
+data Inh_UnOp = Inh_UnOp {comments_Inh_UnOp :: ([MToken]), indent_Inh_UnOp :: Int, ppconf_Inh_UnOp :: PrettyPrintConfig}
+data Syn_UnOp = Syn_UnOp {comments_Syn_UnOp :: ([MToken]), copy_Syn_UnOp :: UnOp, isMultiline_Syn_UnOp :: Bool, pretty_Syn_UnOp :: Doc}
+wrap_UnOp
+  :: T_UnOp
+  -> Inh_UnOp
+  -> Syn_UnOp
+wrap_UnOp sem (Inh_UnOp _lhsIcomments _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf
+    in
+      (Syn_UnOp _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty)
+  )
+sem_UnOp_UnMinus :: T_UnOp
+sem_UnOp_UnMinus =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: UnOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "-"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _copy =
+              ( UnMinus
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+sem_UnOp_ANot :: T_UnOp
+sem_UnOp_ANot =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: UnOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText (if cStyle _lhsIppconf then "!" else "not ")
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _copy =
+              ( ANot
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+sem_UnOp_AHash :: T_UnOp
+sem_UnOp_AHash =
+  ( \_lhsIcomments
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOisMultiline :: Bool
+            _lhsOcopy :: UnOp
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( zeroWidthText "#"
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _copy =
+              ( AHash
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)
+        )
+  )
+
+-- VarsList ----------------------------------------------------
+-- cata
+sem_VarsList
+  :: VarsList
+  -> T_VarsList
+sem_VarsList list =
+  (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))
+
+-- semantic domain
+type T_VarsList =
+  ([MToken])
+  -> Bool
+  -> Int
+  -> PrettyPrintConfig
+  -> (([MToken]), VarsList, Bool, Doc, Bool, Bool, Bool, Doc, Bool, Doc)
+data Inh_VarsList = Inh_VarsList {comments_Inh_VarsList :: ([MToken]), forceMultiline_Inh_VarsList :: Bool, indent_Inh_VarsList :: Int, ppconf_Inh_VarsList :: PrettyPrintConfig}
+data Syn_VarsList = Syn_VarsList {comments_Syn_VarsList :: ([MToken]), copy_Syn_VarsList :: VarsList, endsWithPrefixExpression_Syn_VarsList :: Bool, exprPretty_Syn_VarsList :: Doc, isDefined_Syn_VarsList :: Bool, isLast_Syn_VarsList :: Bool, isMultiline_Syn_VarsList :: Bool, pretty_Syn_VarsList :: Doc, startsWithExprPrefixExpression_Syn_VarsList :: Bool, varPretty_Syn_VarsList :: Doc}
+wrap_VarsList
+  :: T_VarsList
+  -> Inh_VarsList
+  -> Syn_VarsList
+wrap_VarsList sem (Inh_VarsList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =
+  ( let
+      (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf
+    in
+      (Syn_VarsList _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty)
+  )
+sem_VarsList_Cons
+  :: T_Declaration
+  -> T_VarsList
+  -> T_VarsList
+sem_VarsList_Cons hd_ tl_ =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisLast :: Bool
+            _lhsOexprPretty :: Doc
+            _lhsOisDefined :: Bool
+            _lhsOvarPretty :: Doc
+            _lhsOcopy :: VarsList
+            _lhsOcomments :: ([MToken])
+            _hdOcomments :: ([MToken])
+            _hdOforceMultiline :: Bool
+            _hdOindent :: Int
+            _hdOppconf :: PrettyPrintConfig
+            _tlOcomments :: ([MToken])
+            _tlOforceMultiline :: Bool
+            _tlOindent :: Int
+            _tlOppconf :: PrettyPrintConfig
+            _hdIcomments :: ([MToken])
+            _hdIcopy :: Declaration
+            _hdIendsWithPrefixExpression :: Bool
+            _hdIexprPretty :: Doc
+            _hdIisDefined :: Bool
+            _hdIisMultiline :: Bool
+            _hdIpretty :: Doc
+            _hdIstartsWithExprPrefixExpression :: Bool
+            _hdIvarPretty :: Doc
+            _tlIcomments :: ([MToken])
+            _tlIcopy :: VarsList
+            _tlIendsWithPrefixExpression :: Bool
+            _tlIexprPretty :: Doc
+            _tlIisDefined :: Bool
+            _tlIisLast :: Bool
+            _tlIisMultiline :: Bool
+            _tlIpretty :: Doc
+            _tlIstartsWithExprPrefixExpression :: Bool
+            _tlIvarPretty :: Doc
+            _lhsOpretty =
+              ( _varPretty
+                  <-> if _isDefined then zchr '=' <-> _exprPretty else empty
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( _hdIstartsWithExprPrefixExpression
+              )
+            _lhsOendsWithPrefixExpression =
+              ( if _tlIisDefined then _tlIendsWithPrefixExpression else _hdIendsWithPrefixExpression
+              )
+            _lhsOisMultiline =
+              ( _hdIisMultiline || _tlIisMultiline
+              )
+            _isDefined =
+              ( _hdIisDefined || _tlIisDefined
+              )
+            _varPretty =
+              ( _hdIvarPretty
+                  <> (if _tlIisLast then empty else _comma)
+                  <> _tlIvarPretty
+              )
+            _exprPretty =
+              ( _hdIexprPretty
+                  <> (if not _tlIisLast && _tlIisDefined then _comma else empty)
+                  <> _tlIexprPretty
+              )
+            _comma =
+              ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                  <> zchr ','
+                  <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+              )
+            _lhsOisLast =
+              ( False
+              )
+            _lhsOexprPretty =
+              ( _exprPretty
+              )
+            _lhsOisDefined =
+              ( _isDefined
+              )
+            _lhsOvarPretty =
+              ( _varPretty
+              )
+            _copy =
+              ( (:) _hdIcopy _tlIcopy
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _tlIcomments
+              )
+            _hdOcomments =
+              ( _lhsIcomments
+              )
+            _hdOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _hdOindent =
+              ( _lhsIindent
+              )
+            _hdOppconf =
+              ( _lhsIppconf
+              )
+            _tlOcomments =
+              ( _hdIcomments
+              )
+            _tlOforceMultiline =
+              ( _lhsIforceMultiline
+              )
+            _tlOindent =
+              ( _lhsIindent
+              )
+            _tlOppconf =
+              ( _lhsIppconf
+              )
+            (_hdIcomments, _hdIcopy, _hdIendsWithPrefixExpression, _hdIexprPretty, _hdIisDefined, _hdIisMultiline, _hdIpretty, _hdIstartsWithExprPrefixExpression, _hdIvarPretty) =
+              hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf
+            (_tlIcomments, _tlIcopy, _tlIendsWithPrefixExpression, _tlIexprPretty, _tlIisDefined, _tlIisLast, _tlIisMultiline, _tlIpretty, _tlIstartsWithExprPrefixExpression, _tlIvarPretty) =
+              tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty)
+        )
+  )
+sem_VarsList_Nil :: T_VarsList
+sem_VarsList_Nil =
+  ( \_lhsIcomments
+     _lhsIforceMultiline
+     _lhsIindent
+     _lhsIppconf ->
+        ( let
+            _lhsOpretty :: Doc
+            _lhsOstartsWithExprPrefixExpression :: Bool
+            _lhsOendsWithPrefixExpression :: Bool
+            _lhsOisMultiline :: Bool
+            _lhsOisLast :: Bool
+            _lhsOexprPretty :: Doc
+            _lhsOisDefined :: Bool
+            _lhsOvarPretty :: Doc
+            _lhsOcopy :: VarsList
+            _lhsOcomments :: ([MToken])
+            _lhsOpretty =
+              ( empty
+              )
+            _lhsOstartsWithExprPrefixExpression =
+              ( False
+              )
+            _lhsOendsWithPrefixExpression =
+              ( False
+              )
+            _lhsOisMultiline =
+              ( False
+              )
+            _lhsOisLast =
+              ( True
+              )
+            _lhsOexprPretty =
+              ( empty
+              )
+            _lhsOisDefined =
+              ( False
+              )
+            _lhsOvarPretty =
+              ( empty
+              )
+            _copy =
+              ( []
+              )
+            _lhsOcopy =
+              ( _copy
+              )
+            _lhsOcomments =
+              ( _lhsIcomments
+              )
+          in
+            (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty)
+        )
+  )
diff --git a/src/GLua/AG/Token.hs b/src/GLua/AG/Token.hs
--- a/src/GLua/AG/Token.hs
+++ b/src/GLua/AG/Token.hs
@@ -1,86 +1,90 @@
-
-
 {-# LANGUAGE DeriveGeneric #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
--- UUAGC 0.9.53.1 (src/GLua/AG/Token.ag)
+
+-- UUAGC 0.9.55 (src/GLua/AG/Token.ag)
 module GLua.AG.Token where
 
 {-# LINE 9 "src/GLua/AG/Token.ag" #-}
 
-import Text.ParserCombinators.UU.BasicInstances hiding (pos)
 import GHC.Generics
+import Text.ParserCombinators.UU.BasicInstances hiding (pos)
 {-# LINE 13 "src/GLua/AG/Token.hs" #-}
 -- MToken ------------------------------------------------------
 data MToken = MToken !(Region) !(Token)
+
 -- MTokenList --------------------------------------------------
 type MTokenList = [MToken]
+
 -- Region ------------------------------------------------------
 data Region = Region !(LineColPos) !(LineColPos)
-            deriving ( Generic,Show)
+  deriving (Generic, Show)
+
 -- Token -------------------------------------------------------
-data Token = Whitespace !(String)
-           | DashComment !(String)
-           | DashBlockComment !(Int) !(String)
-           | SlashComment !(String)
-           | SlashBlockComment !(String)
-           | Semicolon
-           | TNumber !(String)
-           | DQString !(String)
-           | SQString !(String)
-           | MLString !(String)
-           | TTrue
-           | TFalse
-           | Nil
-           | VarArg
-           | Plus
-           | Minus
-           | Multiply
-           | Divide
-           | Modulus
-           | Power
-           | TEq
-           | TNEq
-           | TCNEq
-           | TLEQ
-           | TGEQ
-           | TLT
-           | TGT
-           | Equals
-           | Concatenate
-           | Colon
-           | Dot
-           | Comma
-           | Hash
-           | Not
-           | CNot
-           | And
-           | CAnd
-           | Or
-           | COr
-           | Function
-           | Local
-           | If
-           | Then
-           | Elseif
-           | Else
-           | For
-           | In
-           | Do
-           | While
-           | Until
-           | Repeat
-           | Continue
-           | Break
-           | Return
-           | End
-           | LRound
-           | RRound
-           | LCurly
-           | RCurly
-           | LSquare
-           | RSquare
-           | Label !(String) !(String) !(String)
-           | Identifier !(String)
-           deriving ( Eq,Generic,Ord)
+data Token
+  = Whitespace !(String)
+  | DashComment !(String)
+  | DashBlockComment !(Int) !(String)
+  | SlashComment !(String)
+  | SlashBlockComment !(String)
+  | Semicolon
+  | TNumber !(String)
+  | DQString !(String)
+  | SQString !(String)
+  | MLString !(String)
+  | TTrue
+  | TFalse
+  | Nil
+  | VarArg
+  | Plus
+  | Minus
+  | Multiply
+  | Divide
+  | Modulus
+  | Power
+  | TEq
+  | TNEq
+  | TCNEq
+  | TLEQ
+  | TGEQ
+  | TLT
+  | TGT
+  | Equals
+  | Concatenate
+  | Colon
+  | Dot
+  | Comma
+  | Hash
+  | Not
+  | CNot
+  | And
+  | CAnd
+  | Or
+  | COr
+  | Function
+  | Local
+  | If
+  | Then
+  | Elseif
+  | Else
+  | For
+  | In
+  | Do
+  | While
+  | Until
+  | Repeat
+  | Continue
+  | Break
+  | Return
+  | End
+  | LRound
+  | RRound
+  | LCurly
+  | RCurly
+  | LSquare
+  | RSquare
+  | Label !(String) !(String) !(String)
+  | Identifier !(String)
+  deriving (Eq, Generic, Ord)
+
 -- TokenList ---------------------------------------------------
 type TokenList = [Token]
diff --git a/src/GLua/Lexer.hs b/src/GLua/Lexer.hs
--- a/src/GLua/Lexer.hs
+++ b/src/GLua/Lexer.hs
@@ -81,8 +81,11 @@
 -- | Parses a C-style block comment.
 parseCBlockComment :: LParser String
 parseCBlockComment =
-  const "" <$> pToken "*/"
-    <<|> (:) <$> parseAnyChar <*> parseCBlockComment
+  const ""
+    <$> pToken "*/"
+      <<|> (:)
+    <$> parseAnyChar
+    <*> parseCBlockComment
 
 -- | Try to parse a block comment.
 -- Might actually return a single line Dash comment, because for example
@@ -94,9 +97,13 @@
     -- The amount of =-signs in the string delimiter is n
     nested :: Int -> LParser Token
     nested n =
-      pToken "=" *> nested (n + 1)
-        <<|> DashBlockComment n <$ pToken "[" <*> restString n
-        <<|> lineComment n <$> pUntilEnd
+      pToken "="
+        *> nested (n + 1)
+          <<|> DashBlockComment n
+        <$ pToken "["
+        <*> restString n
+          <<|> lineComment n
+        <$> pUntilEnd
 
     -- Turns out we were describing a line comment all along, cheeky bastard!
     -- (the last [ of the block comment start token is missing)
@@ -106,8 +113,11 @@
     -- Right-recursive grammar. This part searches for the rest of the string until it finds the ]=^n] token
     restString :: Int -> LParser String
     restString n =
-      const "" <$> pToken ("]" ++ replicate n '=' ++ "]")
-        <<|> (:) <$> parseAnyChar <*> restString n
+      const ""
+        <$> pToken ("]" ++ replicate n '=' ++ "]")
+          <<|> (:)
+        <$> parseAnyChar
+        <*> restString n
 
 -- | Parse the string until the end. Used in parseLineComment among others.
 pUntilEnd :: LParser String
@@ -125,14 +135,20 @@
     -- The amount of =-signs in the string delimiter is n
     nested :: Int -> LParser String
     nested n =
-      (\str -> "=" ++ str) <$ pToken "=" <*> nested (n + 1)
-        <<|> ('[' :) <$ pToken "[" <*> restString n
+      (\str -> "=" ++ str)
+        <$ pToken "="
+        <*> nested (n + 1)
+          <<|> ('[' :)
+        <$ pToken "["
+        <*> restString n
 
     -- Right-recursive grammar. This part searches for the rest of the string until it finds the ]=^n] token
     restString :: Int -> LParser String
     restString n =
       pToken ("]" ++ replicate n '=' ++ "]")
-        <<|> (:) <$> parseAnyChar <*> restString n
+        <<|> (:)
+        <$> parseAnyChar
+        <*> restString n
 
 -- | Parse any kind of comment.
 parseComment :: LParser Token
@@ -140,12 +156,15 @@
   pToken "--"
     <**> (const <$> (parseBlockComment <<|> DashComment <$> pUntilEnd)) -- Dash block comment and dash comment both start with "--"
     <<|> pToken "/"
-      <**> ( const
-              <$> ( SlashBlockComment <$ pToken "*" <*> parseCBlockComment
-                      <<|> SlashComment <$> parseLineComment "/"
+    <**> ( const
+            <$> ( SlashBlockComment
+                    <$ pToken "*"
+                    <*> parseCBlockComment
+                      <<|> SlashComment
+                    <$> parseLineComment "/"
                       <<|> pReturn Divide -- The /-sign is here because it also starts with '/'
-                  )
-           )
+                )
+         )
 
 -- | Parse single line strings e.g. "sdf", 'werf'.
 parseLineString :: Char -> LParser String
@@ -155,8 +174,11 @@
     innerString =
       pSym '\\'
         <**> ((\c' str esc -> esc : c' ++ str) <$> escapeSequence <*> innerString) -- Escaped character in string always starts with backslash
-        <<|> const "" <$> pSym c
-        <<|> (:) <$> pNoNewline <*> innerString -- the end of the string
+        <<|> const ""
+        <$> pSym c
+          <<|> (:)
+        <$> pNoNewline
+        <*> innerString -- the end of the string
         -- the next character in the string
     escapeSequence :: LParser String
     escapeSequence = (:) <$> pSym 'z' <*> parseOptionalWhitespace <<|> (: []) <$> parseAnyChar
@@ -167,12 +189,14 @@
 -- | Single and multiline strings.
 parseString :: LParser Token
 parseString =
-  DQString <$> parseLineString '"'
-    <<|> SQString <$> parseLineString '\''
-    <<|>
-    -- Parse either a multiline string or just a bracket.
-    -- Placed here because they have the first token '[' in common
-    pSym '['
+  DQString
+    <$> parseLineString '"'
+      <<|> SQString
+    <$> parseLineString '\''
+      <<|>
+      -- Parse either a multiline string or just a bracket.
+      -- Placed here because they have the first token '[' in common
+      pSym '['
       <**> ( (\_ -> MLString . (:) '[')
               <$$> nestedString
               <<|> const
@@ -187,10 +211,13 @@
     pZeroPrefixedNumber :: LParser String
     pZeroPrefixedNumber =
       pSym '0'
-        <**> ( (\hex _0 -> _0 : hex) <$> pHexadecimal
-                <<|> (\bin _0 -> _0 : bin) <$> pBinary
-                <<|> (\digits _0 -> _0 : digits) <$> (pDecimal <<|> pNumber)
-                <<|> pure (: [])
+        <**> ( (\hex _0 -> _0 : hex)
+                <$> pHexadecimal
+                  <<|> (\bin _0 -> _0 : bin)
+                <$> pBinary
+                  <<|> (\digits _0 -> _0 : digits)
+                <$> (pDecimal <<|> pNumber)
+                  <<|> pure (: [])
              )
 
     pNumber :: LParser String
@@ -264,12 +291,12 @@
 -- | Parse a label.
 parseLabel :: LParser Token
 parseLabel =
-    Label
-      <$ pToken "::"
-      <*> parseOptionalWhitespace
-      <*> parseIdentifier
-      <*> parseOptionalWhitespace
-      <* pToken "::"
+  Label
+    <$ pToken "::"
+    <*> parseOptionalWhitespace
+    <*> parseIdentifier
+    <*> parseOptionalWhitespace
+    <* pToken "::"
 
 -- | Parse anything to do with dots. Indexaction (.), concatenation (..) or varargs (...)
 parseDots :: LParser Token
@@ -278,12 +305,17 @@
     <**> ( -- A dot means it's either a VarArg (...), concatenation (..) or just a dot (.)
            const
             <$> ( pToken "."
-                    <**> ( const VarArg <$ pToken "."
-                            <<|> const <$> pReturn Concatenate
+                    <**> ( const VarArg
+                            <$ pToken "."
+                              <<|> const
+                            <$> pReturn Concatenate
                          )
                 )
-            <<|> (\ds sfx dot -> TNumber $ dot ++ ds ++ sfx) <$> pSome pDigit <*> opt parseNumberSuffix ""
-            <<|> const <$> pReturn Dot
+              <<|> (\ds sfx dot -> TNumber $ dot ++ ds ++ sfx)
+            <$> pSome pDigit
+            <*> opt parseNumberSuffix ""
+              <<|> const
+            <$> pReturn Dot
          )
 
 -- | Parse any kind of token.
@@ -318,64 +350,64 @@
     <<|> parseKeyword End "end"
     <<|> Identifier
     <$> parseIdentifier
-    <<|> Semicolon
+      <<|> Semicolon
     <$ pToken ";"
-    <<|> parseDots
-    <<|>
-    -- Operators
-    Plus
+      <<|> parseDots
+      <<|>
+      -- Operators
+      Plus
     <$ pToken "+"
-    <<|> Minus
+      <<|> Minus
     <$ pToken "-"
-    <<|> Multiply
+      <<|> Multiply
     <$ pToken "*"
-    <<|> Modulus
+      <<|> Modulus
     <$ pToken "%"
-    <<|> Power
+      <<|> Power
     <$ pToken "^"
-    <<|> TEq
+      <<|> TEq
     <$ pToken "=="
-    <<|> Equals
+      <<|> Equals
     <$ pToken "="
-    <<|> TNEq
+      <<|> TNEq
     <$ pToken "~="
-    <<|> TCNEq
+      <<|> TCNEq
     <$ pToken "!="
-    <<|> CNot
+      <<|> CNot
     <$ pToken "!"
-    <<|> TLEQ
+      <<|> TLEQ
     <$ pToken "<="
-    <<|> TLT
+      <<|> TLT
     <$ pToken "<"
-    <<|> TGEQ
+      <<|> TGEQ
     <$ pToken ">="
-    <<|> TGT
+      <<|> TGT
     <$ pToken ">"
-    <<|> parseLabel
-    <<|> Colon
+      <<|> parseLabel
+      <<|> Colon
     <$ pToken ":"
-    <<|> Comma
+      <<|> Comma
     <$ pToken ","
-    <<|> Hash
+      <<|> Hash
     <$ pToken "#"
-    `micro` 10
-    <<|> CAnd -- Add micro cost to prevent conflict with parseHashBang
+      `micro` 10
+      <<|> CAnd -- Add micro cost to prevent conflict with parseHashBang
     <$ pToken "&&"
-    <<|> COr
+      <<|> COr
     <$ pToken "||"
-    <<|> LRound
+      <<|> LRound
     <$ pToken "("
-    <<|> RRound
+      <<|> RRound
     <$ pToken ")"
-    <<|> LCurly
+      <<|> LCurly
     <$ pToken "{"
-    <<|> RCurly
+      <<|> RCurly
     <$ pToken "}"
-    <<|>
-    -- Other square bracket is parsed in parseString
-    RSquare
+      <<|>
+      -- Other square bracket is parsed in parseString
+      RSquare
     <$ pToken "]"
-    <<|> Whitespace
+      <<|> Whitespace
     <$> parseWhitespace
 
 -- | A thing of which the region is to be parsed
diff --git a/src/GLua/PSLexer.hs b/src/GLua/PSLexer.hs
--- a/src/GLua/PSLexer.hs
+++ b/src/GLua/PSLexer.hs
@@ -220,7 +220,7 @@
         (\s -> Identifier (str ++ s)) <$> many1 (pIdentifierCharacter)
           <|> return tok
         <?> "Keyword "
-        ++ str
+          ++ str
     )
 
 -- | Parse just an identifier.
diff --git a/src/GLua/PSParser.hs b/src/GLua/PSParser.hs
--- a/src/GLua/PSParser.hs
+++ b/src/GLua/PSParser.hs
@@ -197,7 +197,7 @@
 parseLabel = pMSatisfy isLabel <?> "label"
   where
     isLabel :: MToken -> Bool
-    isLabel (MToken _ (Label {})) = True
+    isLabel (MToken _ (Label{})) = True
     isLabel _ = False
 
 -- | Parse a single statement
@@ -379,19 +379,19 @@
   ANil
     <$ pMTok Nil
     <|> AFalse
-    <$ pMTok TFalse
+      <$ pMTok TFalse
     <|> ATrue
-    <$ pMTok TTrue
+      <$ pMTok TTrue
     <|> parseNumber
     <|> AString
-    <$> parseString
+      <$> parseString
     <|> AVarArg
-    <$ pMTok VarArg
+      <$ pMTok VarArg
     <|> parseAnonymFunc
     <|> APrefixExpr
-    <$> parsePrefixExp
+      <$> parsePrefixExp
     <|> ATableConstructor
-    <$> parseTableConstructor
+      <$> parseTableConstructor
     <?> "expression"
 
 -- | Separate parser for anonymous function subexpression
@@ -498,9 +498,9 @@
   Call
     <$> parseArgs
     <|> MetaCall
-    <$ pMTok Colon
-    <*> pName
-    <*> parseArgs
+      <$ pMTok Colon
+      <*> pName
+      <*> parseArgs
     <?> "function call"
 
 -- | Parse an indexing expression suffix
@@ -511,8 +511,8 @@
     <*> parseExpression
     <* pMTok RSquare
     <|> DotIndex
-    <$ pMTok Dot
-    <*> pName
+      <$ pMTok Dot
+      <*> pName
     <?> "indexation"
 
 -- | Function calls are prefix expressions, but the last suffix MUST be either a function call or a metafunction call
@@ -547,9 +547,9 @@
     <*> option [] parseExpressionList
     <* pMTok RRound
     <|> TableArg
-    <$> parseTableConstructor
+      <$> parseTableConstructor
     <|> StringArg
-    <$> parseString
+      <$> parseString
     <?> "function arguments"
 
 -- | Table constructor
@@ -588,7 +588,7 @@
     <*> parseExpression
     <|> parseNamedField
     <|> UnnamedField
-    <$> parseExpression
+      <$> parseExpression
     <?> "field"
 
 -- | Field separator, either comma or semicolon
diff --git a/src/GLua/Parser.hs b/src/GLua/Parser.hs
--- a/src/GLua/Parser.hs
+++ b/src/GLua/Parser.hs
@@ -113,8 +113,10 @@
 parseParList =
   (pMTok VarArg <<|> pName)
     <**> ( pMTok Comma
-            <**> ( (\a _ c -> [c, a]) <$> pMTok VarArg
-                    <<|> (\a _ c -> c : a) <$> parseParList
+            <**> ( (\a _ c -> [c, a])
+                    <$> pMTok VarArg
+                      <<|> (\a _ c -> c : a)
+                    <$> parseParList
                  )
             `opt` (: [])
          )
@@ -153,23 +155,28 @@
 parseCallDef :: AParser Stat
 parseCallDef =
   parseGoto
-    <<|> ( PFVar <$> pName
-            <<|> ExprVar <$ pMTok LRound <*> parseExpression <* pMTok RRound -- Statemens begin with either a simple name or parenthesised expression
+    <<|> ( PFVar
+            <$> pName
+              <<|> ExprVar
+            <$ pMTok LRound
+            <*> parseExpression
+            <* pMTok RRound -- Statemens begin with either a simple name or parenthesised expression
          )
-      <**> (
-             -- Either there are more suffixes yet to be found (contSearch)
-             -- or there aren't and we will find either a comma or =-sign (varDecl namedVarDecl)
-             contSearch
-              <<|> varDecl namedVarDecl
-           )
+    <**> (
+           -- Either there are more suffixes yet to be found (contSearch)
+           -- or there aren't and we will find either a comma or =-sign (varDecl namedVarDecl)
+           contSearch
+            <<|> varDecl namedVarDecl
+         )
   where
     -- Try to parse a goto statement
     parseGoto :: AParser Stat
     parseGoto =
       (PFVar <$> pMTok (Identifier "goto"))
-        <**> ( (\n _ -> AGoto n) <$> pName
-                <<|> contSearch
-                <<|> varDecl namedVarDecl
+        <**> ( (\n _ -> AGoto n)
+                <$> pName
+                  <<|> contSearch
+                  <<|> varDecl namedVarDecl
              )
 
     -- Simple direct declaration: varName, ... = 1, ...
@@ -211,25 +218,40 @@
 parseStat :: AParser Stat
 parseStat =
   parseCallDef
-    <<|> ALabel <$> parseLabel
-    <<|> ABreak <$ pMTok Break
-    <<|> AContinue <$ pMTok Continue
-    <<|>
-    -- AGoto <$ pMTok (Identifier "goto") <*> pName <|>
-    ADo <$ pMTok Do <*> parseBlock <* pMTok End
-    <<|> AWhile <$ pMTok While <*> parseExpression <* pMTok Do <*> parseBlock <* pMTok End
-    <<|> ARepeat <$ pMTok Repeat <*> parseBlock <* pMTok Until <*> parseExpression
-    <<|> parseIf
-    <<|> parseFor
-    <<|> AFunc
-      <$ pMTok Function
-      <*> parseFuncName
-      <*> pPacked (pMTok LRound) (pMTok RRound) parseParList
-      <*> parseBlock
-      <* pMTok End
-    <<|>
-    -- local function and local vars both begin with "local"
-    pMTok Local
+    <<|> ALabel
+    <$> parseLabel
+      <<|> ABreak
+    <$ pMTok Break
+      <<|> AContinue
+    <$ pMTok Continue
+      <<|>
+      -- AGoto <$ pMTok (Identifier "goto") <*> pName <|>
+      ADo
+    <$ pMTok Do
+    <*> parseBlock
+    <* pMTok End
+      <<|> AWhile
+    <$ pMTok While
+    <*> parseExpression
+    <* pMTok Do
+    <*> parseBlock
+    <* pMTok End
+      <<|> ARepeat
+    <$ pMTok Repeat
+    <*> parseBlock
+    <* pMTok Until
+    <*> parseExpression
+      <<|> parseIf
+      <<|> parseFor
+      <<|> AFunc
+    <$ pMTok Function
+    <*> parseFuncName
+    <*> pPacked (pMTok LRound) (pMTok RRound) parseParList
+    <*> parseBlock
+    <* pMTok End
+      <<|>
+      -- local function and local vars both begin with "local"
+      pMTok Local
       <**> (
              -- local function
              (\n p b _l -> ALocFunc n p b)
@@ -238,9 +260,11 @@
               <*> pPacked (pMTok LRound) (pMTok RRound) parseParList
               <*> parseBlock
               <* pMTok End
-              <<|>
-              -- local variables
-              (\v (_p, e) _l -> LocDef (zip v $ map Just e ++ repeat Nothing)) <$> parseLocalVarList <*> ((,) <$ pMTok Equals <*> pPos' <*> parseExpressionList <<|> (,) <$> pPos' <*> pReturn [])
+                <<|>
+                -- local variables
+                (\v (_p, e) _l -> LocDef (zip v $ map Just e ++ repeat Nothing))
+              <$> parseLocalVarList
+              <*> ((,) <$ pMTok Equals <*> pPos' <*> parseExpressionList <<|> (,) <$> pPos' <*> pReturn [])
            )
 
 -- | Parse if then elseif then else end expressions
@@ -294,7 +318,7 @@
 parseLabel = pMSatisfy isLabel (Label "" "someLabel" "") "Some label"
   where
     isLabel :: MToken -> Bool
-    isLabel (MToken _ (Label {})) = True
+    isLabel (MToken _ (Label{})) = True
     isLabel _ = False
 
 -- | Function name (includes dot indices and meta indices)
@@ -357,15 +381,22 @@
 -- | Subexpressions, i.e. without operators
 parseSubExpression :: AParser Expr
 parseSubExpression =
-  ANil <$ pMTok Nil
-    <<|> AFalse <$ pMTok TFalse
-    <<|> ATrue <$ pMTok TTrue
-    <<|> parseNumber
-    <<|> AString <$> parseString
-    <<|> AVarArg <$ pMTok VarArg
-    <<|> parseAnonymFunc
-    <<|> APrefixExpr <$> parsePrefixExp
-    <<|> ATableConstructor <$> parseTableConstructor
+  ANil
+    <$ pMTok Nil
+      <<|> AFalse
+    <$ pMTok TFalse
+      <<|> ATrue
+    <$ pMTok TTrue
+      <<|> parseNumber
+      <<|> AString
+    <$> parseString
+      <<|> AVarArg
+    <$ pMTok VarArg
+      <<|> parseAnonymFunc
+      <<|> APrefixExpr
+    <$> parsePrefixExp
+      <<|> ATableConstructor
+    <$> parseTableConstructor
 
 -- | Separate parser for anonymous function subexpression
 parseAnonymFunc :: AParser Expr
@@ -394,10 +425,14 @@
 -- | Parse unary operator (-, not, #)
 parseUnOp :: AParser UnOp
 parseUnOp =
-  UnMinus <$ pMTok Minus
-    <<|> ANot <$ pMTok Not
-    <<|> ANot <$ pMTok CNot
-    <<|> AHash <$ pMTok Hash
+  UnMinus
+    <$ pMTok Minus
+      <<|> ANot
+    <$ pMTok Not
+      <<|> ANot
+    <$ pMTok CNot
+      <<|> AHash
+    <$ pMTok Hash
 
 -- | Operators, sorted by priority
 -- Priority from: http://www.lua.org/manual/5.2/manual.html#3.4.7
@@ -420,30 +455,50 @@
         samePrioR lvl4 $
           samePrioL lvl5 $
             samePrioL lvl6 $
-              MExpr <$> pPos' <*> (UnOpExpr <$> parseUnOp <*> parseExpression)
-                <<|> samePrioR lvl8 (MExpr <$> pPos' <*> (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7
+              MExpr
+                <$> pPos'
+                <*> (UnOpExpr <$> parseUnOp <*> parseExpression)
+                  <<|> samePrioR lvl8 (MExpr <$> pPos' <*> (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7
 
 -- | Parses a binary operator
 parseBinOp :: AParser BinOp
 parseBinOp =
-  const AOr <$> pMTok Or
-    <<|> const AOr <$> pMTok COr
-    <<|> const AAnd <$> pMTok And
-    <<|> const AAnd <$> pMTok CAnd
-    <<|> const ALT <$> pMTok TLT
-    <<|> const AGT <$> pMTok TGT
-    <<|> const ALEQ <$> pMTok TLEQ
-    <<|> const AGEQ <$> pMTok TGEQ
-    <<|> const ANEq <$> pMTok TNEq
-    <<|> const ANEq <$> pMTok TCNEq
-    <<|> const AEq <$> pMTok TEq
-    <<|> const AConcatenate <$> pMTok Concatenate
-    <<|> const APlus <$> pMTok Plus
-    <<|> const BinMinus <$> pMTok Minus
-    <<|> const AMultiply <$> pMTok Multiply
-    <<|> const ADivide <$> pMTok Divide
-    <<|> const AModulus <$> pMTok Modulus
-    <<|> const APower <$> pMTok Power
+  const AOr
+    <$> pMTok Or
+      <<|> const AOr
+    <$> pMTok COr
+      <<|> const AAnd
+    <$> pMTok And
+      <<|> const AAnd
+    <$> pMTok CAnd
+      <<|> const ALT
+    <$> pMTok TLT
+      <<|> const AGT
+    <$> pMTok TGT
+      <<|> const ALEQ
+    <$> pMTok TLEQ
+      <<|> const AGEQ
+    <$> pMTok TGEQ
+      <<|> const ANEq
+    <$> pMTok TNEq
+      <<|> const ANEq
+    <$> pMTok TCNEq
+      <<|> const AEq
+    <$> pMTok TEq
+      <<|> const AConcatenate
+    <$> pMTok Concatenate
+      <<|> const APlus
+    <$> pMTok Plus
+      <<|> const BinMinus
+    <$> pMTok Minus
+      <<|> const AMultiply
+    <$> pMTok Multiply
+      <<|> const ADivide
+    <$> pMTok Divide
+      <<|> const AModulus
+    <$> pMTok Modulus
+      <<|> const APower
+    <$> pMTok Power
 
 -- | Prefix expressions
 -- can have any arbitrary list of expression suffixes
@@ -454,8 +509,14 @@
 -- The suffixes define rules on the allowed suffixes
 pPrefixExp :: AParser [PFExprSuffix] -> AParser PrefixExp
 pPrefixExp suffixes =
-  PFVar <$> pName <*> suffixes
-    <<|> ExprVar <$ pMTok LRound <*> parseExpression <* pMTok RRound <*> suffixes
+  PFVar
+    <$> pName
+    <*> suffixes
+      <<|> ExprVar
+    <$ pMTok LRound
+    <*> parseExpression
+    <* pMTok RRound
+    <*> suffixes
 
 -- | Parse any expression suffix
 pPFExprSuffix :: AParser PFExprSuffix
@@ -464,14 +525,23 @@
 -- | Parse an indexing expression suffix
 pPFExprCallSuffix :: AParser PFExprSuffix
 pPFExprCallSuffix =
-  Call <$> parseArgs
-    <<|> MetaCall <$ pMTok Colon <*> pName <*> parseArgs
+  Call
+    <$> parseArgs
+      <<|> MetaCall
+    <$ pMTok Colon
+    <*> pName
+    <*> parseArgs
 
 -- | Parse an indexing expression suffix
 pPFExprIndexSuffix :: AParser PFExprSuffix
 pPFExprIndexSuffix =
-  ExprIndex <$ pMTok LSquare <*> parseExpression <* pMTok RSquare
-    <<|> DotIndex <$ pMTok Dot <*> pName
+  ExprIndex
+    <$ pMTok LSquare
+    <*> parseExpression
+    <* pMTok RSquare
+      <<|> DotIndex
+    <$ pMTok Dot
+    <*> pName
 
 -- | Function calls are prefix expressions, but the last suffix MUST be either a function call or a metafunction call
 pFunctionCall :: AParser PrefixExp
@@ -480,8 +550,11 @@
     suffixes =
       concat
         <$> pSome
-          ( (\ix c -> ix ++ [c]) <$> pSome pPFExprIndexSuffix <*> pPFExprCallSuffix
-              <<|> (: []) <$> pPFExprCallSuffix
+          ( (\ix c -> ix ++ [c])
+              <$> pSome pPFExprIndexSuffix
+              <*> pPFExprCallSuffix
+                <<|> (: [])
+              <$> pPFExprCallSuffix
           )
 
 -- | single variable. Note: definition differs from reference to circumvent the left recursion
@@ -493,16 +566,24 @@
     suffixes =
       concat
         <$> pMany
-          ( (\c ix -> c ++ [ix]) <$> pSome pPFExprCallSuffix <*> pPFExprIndexSuffix
-              <<|> (: []) <$> pPFExprIndexSuffix
+          ( (\c ix -> c ++ [ix])
+              <$> pSome pPFExprCallSuffix
+              <*> pPFExprIndexSuffix
+                <<|> (: [])
+              <$> pPFExprIndexSuffix
           )
 
 -- | Arguments of a function call (including brackets)
 parseArgs :: AParser Args
 parseArgs =
-  ListArgs <$ pMTok LRound <*> opt parseExpressionList [] <* pMTok RRound
-    <<|> TableArg <$> parseTableConstructor
-    <<|> StringArg <$> parseString
+  ListArgs
+    <$ pMTok LRound
+    <*> opt parseExpressionList []
+    <* pMTok RRound
+      <<|> TableArg
+    <$> parseTableConstructor
+      <<|> StringArg
+    <$> parseString
 
 -- | Table constructor
 parseTableConstructor :: AParser [Field]
@@ -538,32 +619,42 @@
 -- | A field in a table
 parseField :: AParser (FieldSep -> Field)
 parseField =
-  ExprField <$ pMTok LSquare <*> parseExpression <* pMTok RSquare <* pMTok Equals <*> parseExpression
-    <<|> ( (,)
-            <$> pPos'
-            <*> pName
-            <**>
-            -- Named field has equals sign immediately after the name
-            ( ((\e (_, n) -> NamedField n e) <$ pMTok Equals <*> parseExpression)
-                <<|>
-                -- The lack of equals sign means it's an unnamed field.
-                -- The expression of the unnamed field must be starting with a PFVar Prefix expression
-                pMany pPFExprSuffix
-                  <**> ( makeUnNamedField
-                          <$> (
-                                -- There are operators, so the expression goes on beyond the prefixExpression
-                                curry Just <$> parseBinOp <*> parseExpression
-                                  <<|>
-                                  -- There are no operators after the prefix expression
-                                  pReturn Nothing
-                              )
-                       )
-            )
-         )
-    <<|> UnnamedField <$> parseExpression
+  ExprField
+    <$ pMTok LSquare
+    <*> parseExpression
+    <* pMTok RSquare
+    <* pMTok Equals
+    <*> parseExpression
+      <<|> ( (,)
+              <$> pPos'
+              <*> pName
+                <**>
+                -- Named field has equals sign immediately after the name
+                ( ((\e (_, n) -> NamedField n e) <$ pMTok Equals <*> parseExpression)
+                    <<|>
+                    -- The lack of equals sign means it's an unnamed field.
+                    -- The expression of the unnamed field must be starting with a PFVar Prefix expression
+                    pMany pPFExprSuffix
+                    <**> ( makeUnNamedField
+                            <$> (
+                                  -- There are operators, so the expression goes on beyond the prefixExpression
+                                  curry Just
+                                    <$> parseBinOp
+                                    <*> parseExpression
+                                      <<|>
+                                      -- There are no operators after the prefix expression
+                                      pReturn Nothing
+                                )
+                         )
+                )
+           )
+      <<|> UnnamedField
+    <$> parseExpression
 
 -- | Field separator
 parseFieldSep :: AParser FieldSep
 parseFieldSep =
-  CommaSep <$ pMTok Comma
-    <<|> SemicolonSep <$ pMTok Semicolon
+  CommaSep
+    <$ pMTok Comma
+      <<|> SemicolonSep
+    <$ pMTok Semicolon
diff --git a/src/GLuaFixer/AG/ASTLint.hs b/src/GLuaFixer/AG/ASTLint.hs
--- a/src/GLuaFixer/AG/ASTLint.hs
+++ b/src/GLuaFixer/AG/ASTLint.hs
@@ -1,14265 +1,15302 @@
-
-
-{-# LANGUAGE DeriveGeneric #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
-{-# LANGUAGE DeriveGeneric #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-binds #-}
-{-# LANGUAGE LambdaCase #-}
--- UUAGC 0.9.53.1 (src/GLuaFixer/AG/ASTLint.ag)
-module GLuaFixer.AG.ASTLint where
-
-{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}
-
-import Text.ParserCombinators.UU.BasicInstances hiding (pos)
-import GHC.Generics
-{-# LINE 19 "src/GLuaFixer/AG/ASTLint.hs" #-}
-
-{-# LINE 10 "src/GLuaFixer/AG/../../GLua/AG/AST.ag" #-}
-
-import GLua.AG.Token
-import GLua.TokenTypes ()
-import GHC.Generics
-import Data.Aeson
-{-# LINE 27 "src/GLuaFixer/AG/ASTLint.hs" #-}
-
-{-# LINE 10 "src/GLuaFixer/AG/ASTLint.ag" #-}
-
-import GLua.AG.AST
-import qualified GLua.AG.PrettyPrint as PP
-import qualified GLua.AG.Token as T
-import GLua.TokenTypes
-import qualified Data.Set as S
-import qualified Data.Map.Strict as M
-import Data.Char (isLower, isUpper)
-import Data.Maybe
-import GLuaFixer.LintMessage
-import GLuaFixer.LintSettings
-{-# LINE 41 "src/GLuaFixer/AG/ASTLint.hs" #-}
-{-# LINE 28 "src/GLuaFixer/AG/ASTLint.ag" #-}
-
-warn :: Region -> Issue -> FilePath -> LintMessage
-warn pos issue = LintMessage LintWarning pos issue
-
--- Used in detecting "not (a == b)" kind of things
-oppositeBinOp :: BinOp -> Maybe String
-oppositeBinOp ALT = Just ">="
-oppositeBinOp AGT = Just "<="
-oppositeBinOp ALEQ = Just ">"
-oppositeBinOp AGEQ = Just "<"
-oppositeBinOp ANEq = Just "=="
-oppositeBinOp AEq = Just "~="
-oppositeBinOp _ = Nothing
-
--- Checks whether a variable shadows existing variables
-checkShadows :: [M.Map String (Bool, Region)] -> MToken -> Maybe (FilePath -> LintMessage)
-checkShadows [] _ = Nothing
-checkShadows _ (MToken _ (Identifier "_")) = Nothing -- Exception for vars named '_'
-checkShadows (scope : scs) mtok' =
-    if M.member lbl scope then
-      Just $ warn (mpos mtok') $ VariableShadows lbl location
-    else
-      checkShadows scs mtok'
-    where
-        lbl = tokenLabel mtok'
-        location = snd $ fromMaybe (error "checkShadows fromMaybe") $ M.lookup lbl scope
-
--- Determines whether a variable is local
--- It is local if it does not exist in any but the topmost (global) scope
--- it may or may not exist in the topmost scope.
-isVariableLocal :: [M.Map String (Bool, Region)] -> String -> Bool
-isVariableLocal [] _ = False
-isVariableLocal [_] _ = False
-isVariableLocal (scope : scs) var =
-    case M.lookup var scope of
-        Just _ -> True
-        Nothing -> isVariableLocal scs var
-
-
--- Registers a variable as global variable when it hasn't been
--- introduced in any of the visible scopes
-registerVariable :: [M.Map String (Bool, Region)] -> Region -> String -> Bool -> [M.Map String (Bool, Region)]
-registerVariable [] _ _ _ = error "cannot register top level variable"
-registerVariable (scope : []) pos var used =
-    [ case M.lookup var scope of
-        Just (used', pos') -> M.insert var (used || used', pos') scope
-        Nothing -> M.insert var (used, pos) scope
-    ] -- global scope
-registerVariable (scope : scs) pos var used = case M.lookup var scope of
-                                                Just (True, _) -> scope : scs
-                                                Just (False, pos') -> M.insert var (used, pos') scope : scs
-                                                Nothing -> scope : registerVariable scs pos var used
-
-findSelf :: [MToken] -> Bool
-findSelf ((MToken _ (Identifier "self")) : _) = True
-findSelf _ = False
-
-data VariableStyle
-   = StartsLowerCase
-   | StartsUpperCase
-   | VariableStyleNeither
-   deriving (Eq)
-
-data DeterminedVariableStyle
-   = VarStyleNotDetermined
-   | VarStyleDetermined !VariableStyle
-
-combineDeterminedVarStyle :: DeterminedVariableStyle -> VariableStyle -> DeterminedVariableStyle
-combineDeterminedVarStyle old new = case old of
-    VarStyleNotDetermined -> VarStyleDetermined new
-    VarStyleDetermined VariableStyleNeither -> VarStyleDetermined new
-    _ -> old
-
-determineVariableStyle :: String -> VariableStyle
-determineVariableStyle = \case
-    [] -> VariableStyleNeither
-    (c : _)
-        | isLower c -> StartsLowerCase
-        | isUpper c -> StartsUpperCase
-        | otherwise -> VariableStyleNeither
-
-variableStyleInconsistent :: DeterminedVariableStyle -> VariableStyle -> Bool
-variableStyleInconsistent determinedStyle varStyle = case determinedStyle of
-    VarStyleNotDetermined -> False
-    VarStyleDetermined VariableStyleNeither -> False
-    VarStyleDetermined existing -> case varStyle of
-        VariableStyleNeither -> False
-        _ -> existing /= varStyle
-
-unknownIdentifier :: String
-unknownIdentifier = "Unknown identifier"
-
-{-# LINE 135 "src/GLuaFixer/AG/ASTLint.hs" #-}
-
-{-# LINE 647 "src/GLuaFixer/AG/ASTLint.ag" #-}
-
-inh_AST :: LintSettings -> Inh_AST
-inh_AST conf = Inh_AST {
-                config_Inh_AST                  = conf,
-                isMeta_Inh_AST                  = False,
-                loopLevel_Inh_AST               = 0,
-                globalDefinitions_Inh_AST       = M.empty,
-                mtokenPos_Inh_AST               = emptyRg,
-                scopeLevel_Inh_AST              = 0,
-                scopes_Inh_AST                  = [M.empty],
-                funcName_Inh_AST                = "",
-                isInModule_Inh_AST              = False,
-                variableStyle_Inh_AST           = VarStyleNotDetermined
-               }
-
-allAttributes :: LintSettings -> AST -> Syn_AST
-allAttributes conf p = wrap_AST (sem_AST p) (inh_AST conf)
-
-astWarnings :: LintSettings -> AST -> [String -> LintMessage]
-astWarnings conf p = warnings_Syn_AST $ allAttributes conf p
-
-globalDefinitions :: LintSettings -> AST -> M.Map String [Region]
-globalDefinitions conf p = globalDefinitions_Syn_AST $ allAttributes conf p
-{-# LINE 161 "src/GLuaFixer/AG/ASTLint.hs" #-}
--- AReturn -----------------------------------------------------
--- cata
-sem_AReturn :: AReturn ->
-               T_AReturn
-sem_AReturn (AReturn _pos _values) =
-    (sem_AReturn_AReturn (sem_Region _pos) (sem_MExprList _values))
-sem_AReturn (NoReturn) =
-    (sem_AReturn_NoReturn)
--- semantic domain
-type T_AReturn = ( AReturn,T_AReturn_1)
-type T_AReturn_1 = LintSettings ->
-                   String ->
-                   (M.Map String [Region]) ->
-                   Bool ->
-                   Bool ->
-                   Int ->
-                   Region ->
-                   Int ->
-                   ([M.Map String (Bool, Region)]) ->
-                   DeterminedVariableStyle ->
-                   ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_AReturn = Inh_AReturn {config_Inh_AReturn :: LintSettings,funcName_Inh_AReturn :: String,globalDefinitions_Inh_AReturn :: (M.Map String [Region]),isInModule_Inh_AReturn :: Bool,isMeta_Inh_AReturn :: Bool,loopLevel_Inh_AReturn :: Int,mtokenPos_Inh_AReturn :: Region,scopeLevel_Inh_AReturn :: Int,scopes_Inh_AReturn :: ([M.Map String (Bool, Region)]),variableStyle_Inh_AReturn :: DeterminedVariableStyle}
-data Syn_AReturn = Syn_AReturn {copy_Syn_AReturn :: AReturn,globalDefinitions_Syn_AReturn :: (M.Map String [Region]),identifier_Syn_AReturn :: String,isInModule_Syn_AReturn :: Bool,mtokenPos_Syn_AReturn :: Region,scopes_Syn_AReturn :: ([M.Map String (Bool, Region)]),statementCount_Syn_AReturn :: Int,variableStyle_Syn_AReturn :: DeterminedVariableStyle,warnings_Syn_AReturn :: ([String -> LintMessage])}
-wrap_AReturn :: T_AReturn ->
-                Inh_AReturn ->
-                Syn_AReturn
-wrap_AReturn sem (Inh_AReturn _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_AReturn _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))
-sem_AReturn_AReturn :: T_Region ->
-                       T_MExprList ->
-                       T_AReturn
-sem_AReturn_AReturn pos_ values_ =
-    (case (values_) of
-     { ( _valuesIcopy,values_1) ->
-         (case (pos_) of
-          { ( _posIcopy,_posIidentifier,_posIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      AReturn _posIcopy _valuesIcopy
-                      {-# LINE 202 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 207 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_AReturn_AReturn_1 :: T_AReturn_1
-                            sem_AReturn_AReturn_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 224 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _valuesOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 229 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _valuesOisMeta ->
-                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisInModule
-                                               {-# LINE 234 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _valuesOisInModule ->
-                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIglobalDefinitions
-                                                {-# LINE 239 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _valuesOglobalDefinitions ->
-                                         (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIconfig
-                                                 {-# LINE 244 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _valuesOconfig ->
-                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIvariableStyle
-                                                  {-# LINE 249 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _valuesOvariableStyle ->
-                                           (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIscopeLevel
-                                                   {-# LINE 254 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _valuesOscopeLevel ->
-                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsImtokenPos
-                                                    {-# LINE 259 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _valuesOmtokenPos ->
-                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIloopLevel
-                                                     {-# LINE 264 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _valuesOloopLevel ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 269 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _valuesOfuncName ->
-                                               (case (({-# LINE 492 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       True
-                                                       {-# LINE 274 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _valuesOtopLevel ->
-                                                (case (({-# LINE 491 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        True
-                                                        {-# LINE 279 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _valuesOinParentheses ->
-                                                 (case (values_1 _valuesOconfig _valuesOfuncName _valuesOglobalDefinitions _valuesOinParentheses _valuesOisInModule _valuesOisMeta _valuesOloopLevel _valuesOmtokenPos _valuesOscopeLevel _valuesOscopes _valuesOtopLevel _valuesOvariableStyle) of
-                                                  { ( _valuesIglobalDefinitions,_valuesIidentifier,_valuesIisInModule,_valuesImtokenPos,_valuesIscopes,_valuesIvariableStyle,_valuesIwarnings) ->
-                                                      (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _valuesIglobalDefinitions
-                                                              {-# LINE 286 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOglobalDefinitions ->
-                                                       (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               (const _posIidentifier _valuesIidentifier)
-                                                               {-# LINE 291 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOidentifier ->
-                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _valuesIisInModule
-                                                                {-# LINE 296 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOisInModule ->
-                                                         (case (({-# LINE 493 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _posIcopy
-                                                                 {-# LINE 301 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOmtokenPos ->
-                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _valuesIscopes
-                                                                  {-# LINE 306 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOscopes ->
-                                                           (case (({-# LINE 157 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   1
-                                                                   {-# LINE 311 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _lhsOstatementCount ->
-                                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _valuesIvariableStyle
-                                                                    {-# LINE 316 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOvariableStyle ->
-                                                             (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _posIwarnings ++ _valuesIwarnings
-                                                                     {-# LINE 321 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _lhsOwarnings ->
-                                                              ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_AReturn_AReturn_1)) of
-                 { ( sem_AReturn_1) ->
-                 ( _lhsOcopy,sem_AReturn_1) }) }) }) }) })
-sem_AReturn_NoReturn :: T_AReturn
-sem_AReturn_NoReturn =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            NoReturn
-            {-# LINE 332 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 337 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_AReturn_NoReturn_1 :: T_AReturn_1
-                  sem_AReturn_NoReturn_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 354 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 359 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 364 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 369 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 374 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 495 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        0
-                                        {-# LINE 379 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOstatementCount ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 384 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 389 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_AReturn_NoReturn_1)) of
-       { ( sem_AReturn_1) ->
-       ( _lhsOcopy,sem_AReturn_1) }) }) })
--- AST ---------------------------------------------------------
--- cata
-sem_AST :: AST ->
-           T_AST
-sem_AST (AST _comments _chunk) =
-    (sem_AST_AST _comments (sem_Block _chunk))
--- semantic domain
-type T_AST = LintSettings ->
-             String ->
-             (M.Map String [Region]) ->
-             Bool ->
-             Bool ->
-             Int ->
-             Region ->
-             Int ->
-             ([M.Map String (Bool, Region)]) ->
-             DeterminedVariableStyle ->
-             ( AST,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_AST = Inh_AST {config_Inh_AST :: LintSettings,funcName_Inh_AST :: String,globalDefinitions_Inh_AST :: (M.Map String [Region]),isInModule_Inh_AST :: Bool,isMeta_Inh_AST :: Bool,loopLevel_Inh_AST :: Int,mtokenPos_Inh_AST :: Region,scopeLevel_Inh_AST :: Int,scopes_Inh_AST :: ([M.Map String (Bool, Region)]),variableStyle_Inh_AST :: DeterminedVariableStyle}
-data Syn_AST = Syn_AST {copy_Syn_AST :: AST,globalDefinitions_Syn_AST :: (M.Map String [Region]),identifier_Syn_AST :: String,isInModule_Syn_AST :: Bool,mtokenPos_Syn_AST :: Region,scopes_Syn_AST :: ([M.Map String (Bool, Region)]),variableStyle_Syn_AST :: DeterminedVariableStyle,warnings_Syn_AST :: ([String -> LintMessage])}
-wrap_AST :: T_AST ->
-            Inh_AST ->
-            Syn_AST
-wrap_AST sem (Inh_AST _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_AST _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_AST_AST :: ([MToken]) ->
-               T_Block ->
-               T_AST
-sem_AST_AST comments_ chunk_ =
-    (\ _lhsIconfig
-       _lhsIfuncName
-       _lhsIglobalDefinitions
-       _lhsIisInModule
-       _lhsIisMeta
-       _lhsIloopLevel
-       _lhsImtokenPos
-       _lhsIscopeLevel
-       _lhsIscopes
-       _lhsIvariableStyle ->
-         (case (chunk_) of
-          { ( _chunkIcopy,chunk_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      AST comments_ _chunkIcopy
-                      {-# LINE 440 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 445 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        _lhsIisMeta
-                        {-# LINE 450 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _chunkOisMeta ->
-                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                         _lhsIisInModule
-                         {-# LINE 455 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                         )) of
-                  { _chunkOisInModule ->
-                  (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                          _lhsIglobalDefinitions
-                          {-# LINE 460 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                          )) of
-                   { _chunkOglobalDefinitions ->
-                   (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                           _lhsIconfig
-                           {-# LINE 465 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                           )) of
-                    { _chunkOconfig ->
-                    (case (({-# LINE 292 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                            M.empty : _lhsIscopes
-                            {-# LINE 470 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                            )) of
-                     { _chunkOscopes ->
-                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                             _lhsIvariableStyle
-                             {-# LINE 475 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                             )) of
-                      { _chunkOvariableStyle ->
-                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                              _lhsIscopeLevel
-                              {-# LINE 480 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                              )) of
-                       { _chunkOscopeLevel ->
-                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                               _lhsImtokenPos
-                               {-# LINE 485 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                               )) of
-                        { _chunkOmtokenPos ->
-                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                _lhsIloopLevel
-                                {-# LINE 490 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                )) of
-                         { _chunkOloopLevel ->
-                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                 _lhsIfuncName
-                                 {-# LINE 495 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                 )) of
-                          { _chunkOfuncName ->
-                          (case (({-# LINE 293 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                  False
-                                  {-# LINE 500 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                  )) of
-                           { _chunkOisRepeat ->
-                           (case (chunk_1 _chunkOconfig _chunkOfuncName _chunkOglobalDefinitions _chunkOisInModule _chunkOisMeta _chunkOisRepeat _chunkOloopLevel _chunkOmtokenPos _chunkOscopeLevel _chunkOscopes _chunkOvariableStyle) of
-                            { ( _chunkIglobalDefinitions,_chunkIidentifier,_chunkIisIfStatement,_chunkIisInModule,_chunkImtokenPos,_chunkIscopes,_chunkIstatementCount,_chunkIvariableStyle,_chunkIwarnings) ->
-                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _chunkIglobalDefinitions
-                                        {-# LINE 507 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOglobalDefinitions ->
-                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _chunkIidentifier
-                                         {-# LINE 512 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOidentifier ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _chunkIisInModule
-                                          {-# LINE 517 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOisInModule ->
-                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _chunkImtokenPos
-                                           {-# LINE 522 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOmtokenPos ->
-                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _chunkIscopes
-                                            {-# LINE 527 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _lhsOscopes ->
-                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _chunkIvariableStyle
-                                             {-# LINE 532 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _lhsOvariableStyle ->
-                                      (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _chunkIwarnings
-                                              {-# LINE 537 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _lhsOwarnings ->
-                                       ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
--- Args --------------------------------------------------------
--- cata
-sem_Args :: Args ->
-            T_Args
-sem_Args (ListArgs _args) =
-    (sem_Args_ListArgs (sem_MExprList _args))
-sem_Args (TableArg _arg) =
-    (sem_Args_TableArg (sem_FieldList _arg))
-sem_Args (StringArg _arg) =
-    (sem_Args_StringArg (sem_MToken _arg))
--- semantic domain
-type T_Args = ( Args,T_Args_1)
-type T_Args_1 = LintSettings ->
-                String ->
-                (M.Map String [Region]) ->
-                Bool ->
-                Bool ->
-                Int ->
-                Region ->
-                Int ->
-                ([M.Map String (Bool, Region)]) ->
-                DeterminedVariableStyle ->
-                ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Args = Inh_Args {config_Inh_Args :: LintSettings,funcName_Inh_Args :: String,globalDefinitions_Inh_Args :: (M.Map String [Region]),isInModule_Inh_Args :: Bool,isMeta_Inh_Args :: Bool,loopLevel_Inh_Args :: Int,mtokenPos_Inh_Args :: Region,scopeLevel_Inh_Args :: Int,scopes_Inh_Args :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Args :: DeterminedVariableStyle}
-data Syn_Args = Syn_Args {copy_Syn_Args :: Args,globalDefinitions_Syn_Args :: (M.Map String [Region]),identifier_Syn_Args :: String,isInModule_Syn_Args :: Bool,mtokenPos_Syn_Args :: Region,scopes_Syn_Args :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Args :: DeterminedVariableStyle,warnings_Syn_Args :: ([String -> LintMessage])}
-wrap_Args :: T_Args ->
-             Inh_Args ->
-             Syn_Args
-wrap_Args sem (Inh_Args _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_Args _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_Args_ListArgs :: T_MExprList ->
-                     T_Args
-sem_Args_ListArgs args_ =
-    (case (args_) of
-     { ( _argsIcopy,args_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 ListArgs _argsIcopy
-                 {-# LINE 580 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 585 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Args_ListArgs_1 :: T_Args_1
-                       sem_Args_ListArgs_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 602 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _argsOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 607 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _argsOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 612 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _argsOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 617 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _argsOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 622 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _argsOconfig ->
-                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIvariableStyle
-                                             {-# LINE 627 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _argsOvariableStyle ->
-                                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopeLevel
-                                              {-# LINE 632 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _argsOscopeLevel ->
-                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsImtokenPos
-                                               {-# LINE 637 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _argsOmtokenPos ->
-                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIloopLevel
-                                                {-# LINE 642 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _argsOloopLevel ->
-                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIfuncName
-                                                 {-# LINE 647 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _argsOfuncName ->
-                                          (case (({-# LINE 606 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  True
-                                                  {-# LINE 652 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _argsOtopLevel ->
-                                           (case (({-# LINE 605 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   True
-                                                   {-# LINE 657 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _argsOinParentheses ->
-                                            (case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOinParentheses _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOtopLevel _argsOvariableStyle) of
-                                             { ( _argsIglobalDefinitions,_argsIidentifier,_argsIisInModule,_argsImtokenPos,_argsIscopes,_argsIvariableStyle,_argsIwarnings) ->
-                                                 (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _argsIglobalDefinitions
-                                                         {-# LINE 664 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOglobalDefinitions ->
-                                                  (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _argsIidentifier
-                                                          {-# LINE 669 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOidentifier ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _argsIisInModule
-                                                           {-# LINE 674 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOisInModule ->
-                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _argsImtokenPos
-                                                            {-# LINE 679 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOmtokenPos ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _argsIscopes
-                                                             {-# LINE 684 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOscopes ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _argsIvariableStyle
-                                                              {-# LINE 689 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOvariableStyle ->
-                                                       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _argsIwarnings
-                                                               {-# LINE 694 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOwarnings ->
-                                                        ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Args_ListArgs_1)) of
-            { ( sem_Args_1) ->
-            ( _lhsOcopy,sem_Args_1) }) }) }) })
-sem_Args_TableArg :: T_FieldList ->
-                     T_Args
-sem_Args_TableArg arg_ =
-    (case (arg_) of
-     { ( _argIcopy,arg_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 TableArg _argIcopy
-                 {-# LINE 708 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 713 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Args_TableArg_1 :: T_Args_1
-                       sem_Args_TableArg_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 730 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _argOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 735 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _argOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 740 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _argOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 745 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _argOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 750 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _argOconfig ->
-                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIvariableStyle
-                                             {-# LINE 755 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _argOvariableStyle ->
-                                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopeLevel
-                                              {-# LINE 760 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _argOscopeLevel ->
-                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsImtokenPos
-                                               {-# LINE 765 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _argOmtokenPos ->
-                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIloopLevel
-                                                {-# LINE 770 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _argOloopLevel ->
-                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIfuncName
-                                                 {-# LINE 775 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _argOfuncName ->
-                                          (case (({-# LINE 608 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  S.empty
-                                                  {-# LINE 780 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _argOfieldNames ->
-                                           (case (arg_1 _argOconfig _argOfieldNames _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOloopLevel _argOmtokenPos _argOscopeLevel _argOscopes _argOvariableStyle) of
-                                            { ( _argIfieldNames,_argIglobalDefinitions,_argIidentifier,_argIisInModule,_argImtokenPos,_argIscopes,_argIvariableStyle,_argIwarnings) ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _argIglobalDefinitions
-                                                        {-# LINE 787 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOglobalDefinitions ->
-                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _argIidentifier
-                                                         {-# LINE 792 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOidentifier ->
-                                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _argIisInModule
-                                                          {-# LINE 797 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisInModule ->
-                                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _argImtokenPos
-                                                           {-# LINE 802 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOmtokenPos ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _argIscopes
-                                                            {-# LINE 807 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOscopes ->
-                                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _argIvariableStyle
-                                                             {-# LINE 812 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOvariableStyle ->
-                                                      (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _argIwarnings
-                                                              {-# LINE 817 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOwarnings ->
-                                                       ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Args_TableArg_1)) of
-            { ( sem_Args_1) ->
-            ( _lhsOcopy,sem_Args_1) }) }) }) })
-sem_Args_StringArg :: T_MToken ->
-                      T_Args
-sem_Args_StringArg arg_ =
-    (case (arg_) of
-     { ( _argIcopy,_argImtok,_argImtokenPos,arg_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 StringArg _argIcopy
-                 {-# LINE 831 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 836 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Args_StringArg_1 :: T_Args_1
-                       sem_Args_StringArg_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIglobalDefinitions
-                                        {-# LINE 853 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _argOglobalDefinitions ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 858 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _argOscopes ->
-                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsImtokenPos
-                                          {-# LINE 863 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _argOmtokenPos ->
-                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisMeta
-                                           {-# LINE 868 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _argOisMeta ->
-                                    (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIisInModule
-                                            {-# LINE 873 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _argOisInModule ->
-                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfuncName
-                                             {-# LINE 878 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _argOfuncName ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 883 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _argOconfig ->
-                                       (case (arg_1 _argOconfig _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOmtokenPos _argOscopes) of
-                                        { ( _argIglobalDefinitions,_argIidentifier,_argIisInModule,_argIscopes,_argIwarnings) ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _argIglobalDefinitions
-                                                    {-# LINE 890 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _lhsOglobalDefinitions ->
-                                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _argIidentifier
-                                                     {-# LINE 895 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOidentifier ->
-                                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _argIisInModule
-                                                      {-# LINE 900 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _lhsOisInModule ->
-                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _argImtokenPos
-                                                       {-# LINE 905 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _lhsOmtokenPos ->
-                                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _argIscopes
-                                                        {-# LINE 910 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOscopes ->
-                                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIvariableStyle
-                                                         {-# LINE 915 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOvariableStyle ->
-                                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _argIwarnings
-                                                          {-# LINE 920 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOwarnings ->
-                                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Args_StringArg_1)) of
-            { ( sem_Args_1) ->
-            ( _lhsOcopy,sem_Args_1) }) }) }) })
--- BinOp -------------------------------------------------------
--- cata
-sem_BinOp :: BinOp ->
-             T_BinOp
-sem_BinOp (AOr) =
-    (sem_BinOp_AOr)
-sem_BinOp (AAnd) =
-    (sem_BinOp_AAnd)
-sem_BinOp (ALT) =
-    (sem_BinOp_ALT)
-sem_BinOp (AGT) =
-    (sem_BinOp_AGT)
-sem_BinOp (ALEQ) =
-    (sem_BinOp_ALEQ)
-sem_BinOp (AGEQ) =
-    (sem_BinOp_AGEQ)
-sem_BinOp (ANEq) =
-    (sem_BinOp_ANEq)
-sem_BinOp (AEq) =
-    (sem_BinOp_AEq)
-sem_BinOp (AConcatenate) =
-    (sem_BinOp_AConcatenate)
-sem_BinOp (APlus) =
-    (sem_BinOp_APlus)
-sem_BinOp (BinMinus) =
-    (sem_BinOp_BinMinus)
-sem_BinOp (AMultiply) =
-    (sem_BinOp_AMultiply)
-sem_BinOp (ADivide) =
-    (sem_BinOp_ADivide)
-sem_BinOp (AModulus) =
-    (sem_BinOp_AModulus)
-sem_BinOp (APower) =
-    (sem_BinOp_APower)
--- semantic domain
-type T_BinOp = ( BinOp,T_BinOp_1)
-type T_BinOp_1 = LintSettings ->
-                 String ->
-                 (M.Map String [Region]) ->
-                 Bool ->
-                 Bool ->
-                 Int ->
-                 Region ->
-                 Int ->
-                 ([M.Map String (Bool, Region)]) ->
-                 DeterminedVariableStyle ->
-                 ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_BinOp = Inh_BinOp {config_Inh_BinOp :: LintSettings,funcName_Inh_BinOp :: String,globalDefinitions_Inh_BinOp :: (M.Map String [Region]),isInModule_Inh_BinOp :: Bool,isMeta_Inh_BinOp :: Bool,loopLevel_Inh_BinOp :: Int,mtokenPos_Inh_BinOp :: Region,scopeLevel_Inh_BinOp :: Int,scopes_Inh_BinOp :: ([M.Map String (Bool, Region)]),variableStyle_Inh_BinOp :: DeterminedVariableStyle}
-data Syn_BinOp = Syn_BinOp {copy_Syn_BinOp :: BinOp,globalDefinitions_Syn_BinOp :: (M.Map String [Region]),identifier_Syn_BinOp :: String,isInModule_Syn_BinOp :: Bool,mtokenPos_Syn_BinOp :: Region,scopes_Syn_BinOp :: ([M.Map String (Bool, Region)]),variableStyle_Syn_BinOp :: DeterminedVariableStyle,warnings_Syn_BinOp :: ([String -> LintMessage])}
-wrap_BinOp :: T_BinOp ->
-              Inh_BinOp ->
-              Syn_BinOp
-wrap_BinOp sem (Inh_BinOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_BinOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_BinOp_AOr :: T_BinOp
-sem_BinOp_AOr =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AOr
-            {-# LINE 987 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 992 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AOr_1 :: T_BinOp_1
-                  sem_BinOp_AOr_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1009 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1014 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1019 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1024 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1029 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1034 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1039 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AOr_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AAnd :: T_BinOp
-sem_BinOp_AAnd =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AAnd
-            {-# LINE 1050 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1055 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AAnd_1 :: T_BinOp_1
-                  sem_BinOp_AAnd_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1072 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1077 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1082 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1087 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1092 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1097 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1102 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AAnd_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_ALT :: T_BinOp
-sem_BinOp_ALT =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ALT
-            {-# LINE 1113 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1118 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_ALT_1 :: T_BinOp_1
-                  sem_BinOp_ALT_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1135 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1140 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1145 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1150 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1155 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1160 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1165 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_ALT_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AGT :: T_BinOp
-sem_BinOp_AGT =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AGT
-            {-# LINE 1176 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1181 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AGT_1 :: T_BinOp_1
-                  sem_BinOp_AGT_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1198 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1203 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1208 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1213 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1218 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1223 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1228 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AGT_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_ALEQ :: T_BinOp
-sem_BinOp_ALEQ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ALEQ
-            {-# LINE 1239 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1244 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_ALEQ_1 :: T_BinOp_1
-                  sem_BinOp_ALEQ_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1261 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1266 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1271 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1276 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1281 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1286 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1291 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_ALEQ_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AGEQ :: T_BinOp
-sem_BinOp_AGEQ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AGEQ
-            {-# LINE 1302 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1307 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AGEQ_1 :: T_BinOp_1
-                  sem_BinOp_AGEQ_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1324 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1329 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1334 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1339 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1344 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1349 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1354 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AGEQ_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_ANEq :: T_BinOp
-sem_BinOp_ANEq =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ANEq
-            {-# LINE 1365 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1370 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_ANEq_1 :: T_BinOp_1
-                  sem_BinOp_ANEq_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1387 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1392 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1397 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1402 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1407 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1412 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1417 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_ANEq_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AEq :: T_BinOp
-sem_BinOp_AEq =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AEq
-            {-# LINE 1428 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1433 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AEq_1 :: T_BinOp_1
-                  sem_BinOp_AEq_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1450 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1455 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1460 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1465 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1470 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1475 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1480 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AEq_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AConcatenate :: T_BinOp
-sem_BinOp_AConcatenate =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AConcatenate
-            {-# LINE 1491 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1496 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AConcatenate_1 :: T_BinOp_1
-                  sem_BinOp_AConcatenate_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1513 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1518 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1523 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1528 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1533 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1538 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1543 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AConcatenate_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_APlus :: T_BinOp
-sem_BinOp_APlus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            APlus
-            {-# LINE 1554 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1559 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_APlus_1 :: T_BinOp_1
-                  sem_BinOp_APlus_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1576 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1581 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1586 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1591 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1596 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1601 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1606 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_APlus_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_BinMinus :: T_BinOp
-sem_BinOp_BinMinus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            BinMinus
-            {-# LINE 1617 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1622 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_BinMinus_1 :: T_BinOp_1
-                  sem_BinOp_BinMinus_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1639 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1644 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1649 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1654 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1659 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1664 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1669 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_BinMinus_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AMultiply :: T_BinOp
-sem_BinOp_AMultiply =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AMultiply
-            {-# LINE 1680 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1685 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AMultiply_1 :: T_BinOp_1
-                  sem_BinOp_AMultiply_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1702 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1707 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1712 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1717 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1722 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1727 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1732 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AMultiply_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_ADivide :: T_BinOp
-sem_BinOp_ADivide =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ADivide
-            {-# LINE 1743 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1748 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_ADivide_1 :: T_BinOp_1
-                  sem_BinOp_ADivide_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1765 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1770 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1775 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1780 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1785 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1790 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1795 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_ADivide_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_AModulus :: T_BinOp
-sem_BinOp_AModulus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AModulus
-            {-# LINE 1806 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1811 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_AModulus_1 :: T_BinOp_1
-                  sem_BinOp_AModulus_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1828 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1833 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1838 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1843 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1848 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1853 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1858 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_AModulus_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
-sem_BinOp_APower :: T_BinOp
-sem_BinOp_APower =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            APower
-            {-# LINE 1869 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 1874 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_BinOp_APower_1 :: T_BinOp_1
-                  sem_BinOp_APower_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 1891 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 1896 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 1901 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 1906 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 1911 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 1916 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 1921 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_BinOp_APower_1)) of
-       { ( sem_BinOp_1) ->
-       ( _lhsOcopy,sem_BinOp_1) }) }) })
--- Block -------------------------------------------------------
--- cata
-sem_Block :: Block ->
-             T_Block
-sem_Block (Block _stats _ret) =
-    (sem_Block_Block (sem_MStatList _stats) (sem_AReturn _ret))
--- semantic domain
-type T_Block = ( Block,T_Block_1)
-type T_Block_1 = LintSettings ->
-                 String ->
-                 (M.Map String [Region]) ->
-                 Bool ->
-                 Bool ->
-                 Bool ->
-                 Int ->
-                 Region ->
-                 Int ->
-                 ([M.Map String (Bool, Region)]) ->
-                 DeterminedVariableStyle ->
-                 ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Block = Inh_Block {config_Inh_Block :: LintSettings,funcName_Inh_Block :: String,globalDefinitions_Inh_Block :: (M.Map String [Region]),isInModule_Inh_Block :: Bool,isMeta_Inh_Block :: Bool,isRepeat_Inh_Block :: Bool,loopLevel_Inh_Block :: Int,mtokenPos_Inh_Block :: Region,scopeLevel_Inh_Block :: Int,scopes_Inh_Block :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Block :: DeterminedVariableStyle}
-data Syn_Block = Syn_Block {copy_Syn_Block :: Block,globalDefinitions_Syn_Block :: (M.Map String [Region]),identifier_Syn_Block :: String,isIfStatement_Syn_Block :: Bool,isInModule_Syn_Block :: Bool,mtokenPos_Syn_Block :: Region,scopes_Syn_Block :: ([M.Map String (Bool, Region)]),statementCount_Syn_Block :: Int,variableStyle_Syn_Block :: DeterminedVariableStyle,warnings_Syn_Block :: ([String -> LintMessage])}
-wrap_Block :: T_Block ->
-              Inh_Block ->
-              Syn_Block
-wrap_Block sem (Inh_Block _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_Block _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))
-sem_Block_Block :: T_MStatList ->
-                   T_AReturn ->
-                   T_Block
-sem_Block_Block stats_ ret_ =
-    (case (ret_) of
-     { ( _retIcopy,ret_1) ->
-         (case (stats_) of
-          { ( _statsIcopy,stats_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      Block _statsIcopy _retIcopy
-                      {-# LINE 1967 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 1972 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Block_Block_1 :: T_Block_1
-                            sem_Block_Block_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIisRepeat
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 1990 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _statsOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 1995 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _statsOisMeta ->
-                                       (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIconfig
-                                               {-# LINE 2000 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _statsOconfig ->
-                                        (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIvariableStyle
-                                                {-# LINE 2005 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _statsOvariableStyle ->
-                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsImtokenPos
-                                                 {-# LINE 2010 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _statsOmtokenPos ->
-                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIloopLevel
-                                                  {-# LINE 2015 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _statsOloopLevel ->
-                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIisInModule
-                                                   {-# LINE 2020 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _statsOisInModule ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIglobalDefinitions
-                                                    {-# LINE 2025 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _statsOglobalDefinitions ->
-                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIfuncName
-                                                     {-# LINE 2030 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _statsOfuncName ->
-                                              (case (({-# LINE 297 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIscopeLevel + 1
-                                                      {-# LINE 2035 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _statsOscopeLevel ->
-                                               (case (stats_1 _statsOconfig _statsOfuncName _statsOglobalDefinitions _statsOisInModule _statsOisMeta _statsOloopLevel _statsOmtokenPos _statsOscopeLevel _statsOscopes _statsOvariableStyle) of
-                                                { ( _statsIglobalDefinitions,_statsIidentifier,_statsIisIfStatement,_statsIisInModule,_statsImtokenPos,_statsIscopes,_statsIstatementCount,_statsIvariableStyle,_statsIwarnings) ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _statsIscopes
-                                                            {-# LINE 2042 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _retOscopes ->
-                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIisMeta
-                                                             {-# LINE 2047 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _retOisMeta ->
-                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _statsIisInModule
-                                                              {-# LINE 2052 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _retOisInModule ->
-                                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _statsIglobalDefinitions
-                                                               {-# LINE 2057 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _retOglobalDefinitions ->
-                                                        (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIconfig
-                                                                {-# LINE 2062 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _retOconfig ->
-                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _statsIvariableStyle
-                                                                 {-# LINE 2067 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _retOvariableStyle ->
-                                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIscopeLevel
-                                                                  {-# LINE 2072 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _retOscopeLevel ->
-                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _statsImtokenPos
-                                                                   {-# LINE 2077 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _retOmtokenPos ->
-                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIloopLevel
-                                                                    {-# LINE 2082 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _retOloopLevel ->
-                                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIfuncName
-                                                                     {-# LINE 2087 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _retOfuncName ->
-                                                              (case (ret_1 _retOconfig _retOfuncName _retOglobalDefinitions _retOisInModule _retOisMeta _retOloopLevel _retOmtokenPos _retOscopeLevel _retOscopes _retOvariableStyle) of
-                                                               { ( _retIglobalDefinitions,_retIidentifier,_retIisInModule,_retImtokenPos,_retIscopes,_retIstatementCount,_retIvariableStyle,_retIwarnings) ->
-                                                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _retIglobalDefinitions
-                                                                           {-# LINE 2094 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _lhsOglobalDefinitions ->
-                                                                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            (const _statsIidentifier _retIidentifier)
-                                                                            {-# LINE 2099 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _lhsOidentifier ->
-                                                                     (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _statsIisIfStatement
-                                                                             {-# LINE 2104 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOisIfStatement ->
-                                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _retIisInModule
-                                                                              {-# LINE 2109 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOisInModule ->
-                                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _retImtokenPos
-                                                                               {-# LINE 2114 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOmtokenPos ->
-                                                                        (case (({-# LINE 304 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                if _lhsIisRepeat then _retIscopes else tail _retIscopes
-                                                                                {-# LINE 2119 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOscopes ->
-                                                                         (case (({-# LINE 157 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _statsIstatementCount + _retIstatementCount
-                                                                                 {-# LINE 2124 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOstatementCount ->
-                                                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _retIvariableStyle
-                                                                                  {-# LINE 2129 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOvariableStyle ->
-                                                                           (case (({-# LINE 302 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _statsIwarnings ++ _retIwarnings
-                                                                                   {-# LINE 2134 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _warnings_augmented_syn ->
-                                                                            (case (({-# LINE 301 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    M.filterWithKey (\k (b, _) -> not (null k) && head k /= '_' && not b) (head _retIscopes)
-                                                                                    {-# LINE 2139 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _deadVars ->
-                                                                             (case (({-# LINE 298 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     lint_maxScopeDepth _lhsIconfig
-                                                                                     {-# LINE 2144 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _maxScopeDepth ->
-                                                                              (case (({-# LINE 302 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      if _maxScopeDepth     == 0 || _lhsIscopeLevel /= _maxScopeDepth     then id else
-                                                                                        (:) $ warn _statsImtokenPos ScopePyramids
-                                                                                      {-# LINE 2150 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _warnings_augmented_f2 ->
-                                                                               (case (({-# LINE 302 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       if not (lint_unusedVars _lhsIconfig) || _lhsIisRepeat then id else
-                                                                                         (++) $ M.foldrWithKey (\k (_, pos) ls -> warn pos (UnusedVariable k) : ls) [] _deadVars
-                                                                                       {-# LINE 2156 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _warnings_augmented_f1 ->
-                                                                                (case (({-# LINE 302 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
-                                                                                        {-# LINE 2161 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _lhsOwarnings ->
-                                                                                 ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Block_Block_1)) of
-                 { ( sem_Block_1) ->
-                 ( _lhsOcopy,sem_Block_1) }) }) }) }) })
--- Declaration -------------------------------------------------
--- cata
-sem_Declaration :: Declaration ->
-                   T_Declaration
-sem_Declaration ( x1,x2) =
-    (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))
--- semantic domain
-type T_Declaration = ( Declaration,T_Declaration_1)
-type T_Declaration_1 = LintSettings ->
-                       String ->
-                       (M.Map String [Region]) ->
-                       Bool ->
-                       Bool ->
-                       Bool ->
-                       Int ->
-                       Region ->
-                       Int ->
-                       ([M.Map String (Bool, Region)]) ->
-                       DeterminedVariableStyle ->
-                       ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Declaration = Inh_Declaration {config_Inh_Declaration :: LintSettings,funcName_Inh_Declaration :: String,globalDefinitions_Inh_Declaration :: (M.Map String [Region]),isInModule_Inh_Declaration :: Bool,isMeta_Inh_Declaration :: Bool,localDefinition_Inh_Declaration :: Bool,loopLevel_Inh_Declaration :: Int,mtokenPos_Inh_Declaration :: Region,scopeLevel_Inh_Declaration :: Int,scopes_Inh_Declaration :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Declaration :: DeterminedVariableStyle}
-data Syn_Declaration = Syn_Declaration {copy_Syn_Declaration :: Declaration,globalDefinitions_Syn_Declaration :: (M.Map String [Region]),identifier_Syn_Declaration :: String,isInModule_Syn_Declaration :: Bool,mtokenPos_Syn_Declaration :: Region,scopes_Syn_Declaration :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Declaration :: DeterminedVariableStyle,warnings_Syn_Declaration :: ([String -> LintMessage])}
-wrap_Declaration :: T_Declaration ->
-                    Inh_Declaration ->
-                    Syn_Declaration
-wrap_Declaration sem (Inh_Declaration _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_Declaration _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_Declaration_Tuple :: T_PrefixExp ->
-                         T_MaybeMExpr ->
-                         T_Declaration
-sem_Declaration_Tuple x1_ x2_ =
-    (case (x2_) of
-     { ( _x2Icopy,x2_1) ->
-         (case (x1_) of
-          { ( _x1Icopy,_x1IhasSuffixes,_x1ImtokenPos,_x1IvarName,x1_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (_x1Icopy,_x2Icopy)
-                      {-# LINE 2207 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 2212 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Declaration_Tuple_1 :: T_Declaration_1
-                            sem_Declaration_Tuple_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIlocalDefinition
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisMeta
-                                             {-# LINE 2230 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _x1OisMeta ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 2235 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _x1Oconfig ->
-                                       (case (({-# LINE 267 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               tokenLabel . fromMaybe (error "fromMaybe sem Declaration loc.var") $ _x1IvarName
-                                               {-# LINE 2240 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _var ->
-                                        (case (({-# LINE 275 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                if _lhsIlocalDefinition then
-                                                  M.insert _var     (False, _x1ImtokenPos) (head _lhsIscopes) : tail _lhsIscopes
-                                                 else if isJust _x1IvarName then
-                                                          registerVariable _lhsIscopes _x1ImtokenPos _var     _x1IhasSuffixes
-                                                      else
-                                                          _lhsIscopes
-                                                {-# LINE 2250 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _x1Oscopes ->
-                                         (case (({-# LINE 263 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 Nothing
-                                                 {-# LINE 2255 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _x1OvarBeingDefined ->
-                                          (case (({-# LINE 259 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  False
-                                                  {-# LINE 2260 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _x1OregisterVarUse ->
-                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIvariableStyle
-                                                   {-# LINE 2265 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _x1OvariableStyle ->
-                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIscopeLevel
-                                                    {-# LINE 2270 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _x1OscopeLevel ->
-                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsImtokenPos
-                                                     {-# LINE 2275 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _x1OmtokenPos ->
-                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIloopLevel
-                                                      {-# LINE 2280 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _x1OloopLevel ->
-                                               (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIisInModule
-                                                       {-# LINE 2285 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _x1OisInModule ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIglobalDefinitions
-                                                        {-# LINE 2290 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _x1OglobalDefinitions ->
-                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIfuncName
-                                                         {-# LINE 2295 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _x1OfuncName ->
-                                                  (case (({-# LINE 261 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 2300 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _x1OtopLevel ->
-                                                   (case (({-# LINE 260 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           False
-                                                           {-# LINE 2305 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _x1OinParentheses ->
-                                                    (case (({-# LINE 258 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            False
-                                                            {-# LINE 2310 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _x1OisNegation ->
-                                                     (case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OregisterVarUse _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of
-                                                      { ( _x1IglobalDefinitions,_x1Iidentifier,_x1IisInModule,_x1IisSimpleExpression,_x1IisSingleVar,_x1Iscopes,_x1IvariableStyle,_x1Iwarnings) ->
-                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _x1Iscopes
-                                                                  {-# LINE 2317 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _x2Oscopes ->
-                                                           (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIisMeta
-                                                                   {-# LINE 2322 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _x2OisMeta ->
-                                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _x1IisInModule
-                                                                    {-# LINE 2327 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _x2OisInModule ->
-                                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _x1IglobalDefinitions
-                                                                     {-# LINE 2332 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _x2OglobalDefinitions ->
-                                                              (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIconfig
-                                                                      {-# LINE 2337 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _x2Oconfig ->
-                                                               (case (({-# LINE 265 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       if _x1IhasSuffixes || not _lhsIlocalDefinition then Nothing else _x1IvarName
-                                                                       {-# LINE 2342 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _x2OvarBeingDefined ->
-                                                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _x1IvariableStyle
-                                                                        {-# LINE 2347 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _x2OvariableStyle ->
-                                                                 (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIscopeLevel
-                                                                         {-# LINE 2352 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _x2OscopeLevel ->
-                                                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _x1ImtokenPos
-                                                                          {-# LINE 2357 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _x2OmtokenPos ->
-                                                                   (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _lhsIloopLevel
-                                                                           {-# LINE 2362 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _x2OloopLevel ->
-                                                                    (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            _lhsIfuncName
-                                                                            {-# LINE 2367 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _x2OfuncName ->
-                                                                     (case (({-# LINE 262 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             False
-                                                                             {-# LINE 2372 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _x2OisNegation ->
-                                                                      (case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisNegation _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvarBeingDefined _x2OvariableStyle) of
-                                                                       { ( _x2IglobalDefinitions,_x2Iidentifier,_x2IisInModule,_x2IisSingleVar,_x2ImtokenPos,_x2Iscopes,_x2IvariableStyle,_x2Iwarnings) ->
-                                                                           (case (({-# LINE 282 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _x2IglobalDefinitions
-                                                                                   {-# LINE 2379 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _globalDefinitions_augmented_syn ->
-                                                                            (case (({-# LINE 282 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    if _lhsIisInModule || _lhsIlocalDefinition || isVariableLocal _lhsIscopes _var     || _x1IhasSuffixes then id else
-                                                                                      M.insertWith (++) _var     [_x1ImtokenPos]
-                                                                                    {-# LINE 2385 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _globalDefinitions_augmented_f1 ->
-                                                                             (case (({-# LINE 282 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]
-                                                                                     {-# LINE 2390 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOglobalDefinitions ->
-                                                                              (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      (const _x1Iidentifier _x2Iidentifier)
-                                                                                      {-# LINE 2395 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOidentifier ->
-                                                                               (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _x2IisInModule
-                                                                                       {-# LINE 2400 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _lhsOisInModule ->
-                                                                                (case (({-# LINE 256 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        _x1ImtokenPos
-                                                                                        {-# LINE 2405 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _lhsOmtokenPos ->
-                                                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         _x2Iscopes
-                                                                                         {-# LINE 2410 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _lhsOscopes ->
-                                                                                  (case (({-# LINE 268 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          determineVariableStyle _var
-                                                                                          {-# LINE 2415 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _varStyle ->
-                                                                                   (case (({-# LINE 257 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           if _lhsIlocalDefinition then combineDeterminedVarStyle _lhsIvariableStyle _varStyle     else _lhsIvariableStyle
-                                                                                           {-# LINE 2420 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _lhsOvariableStyle ->
-                                                                                    (case (({-# LINE 287 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            _x1Iwarnings ++ _x2Iwarnings
-                                                                                            {-# LINE 2425 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _warnings_augmented_syn ->
-                                                                                     (case (({-# LINE 269 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                             do
-                                                                                               var <- _x1IvarName
-                                                                                               if (Just var /= _x2IisSingleVar) then
-                                                                                                   checkShadows _lhsIscopes var
-                                                                                               else Nothing
-                                                                                             {-# LINE 2434 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                             )) of
-                                                                                      { _shadowWarning ->
-                                                                                      (case (({-# LINE 287 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                              if not (lint_shadowing _lhsIconfig) || not _lhsIlocalDefinition || isNothing _shadowWarning     then id else
-                                                                                                (:) . fromMaybe (error "fromMaybe sem Declaration +warnings") $ _shadowWarning
-                                                                                              {-# LINE 2440 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                              )) of
-                                                                                       { _warnings_augmented_f2 ->
-                                                                                       (case (({-# LINE 287 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                               if not (lint_inconsistentVariableStyle _lhsIconfig) || not _lhsIlocalDefinition || not (variableStyleInconsistent _lhsIvariableStyle _varStyle    ) then id else
-                                                                                                 (:) $ warn _x1ImtokenPos InconsistentVariableNaming
-                                                                                               {-# LINE 2446 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                               )) of
-                                                                                        { _warnings_augmented_f1 ->
-                                                                                        (case (({-# LINE 287 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
-                                                                                                {-# LINE 2451 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                )) of
-                                                                                         { _lhsOwarnings ->
-                                                                                         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Declaration_Tuple_1)) of
-                 { ( sem_Declaration_1) ->
-                 ( _lhsOcopy,sem_Declaration_1) }) }) }) }) })
--- Else --------------------------------------------------------
--- cata
-sem_Else :: Else ->
-            T_Else
-sem_Else (Prelude.Just x) =
-    (sem_Else_Just (sem_MElse x))
-sem_Else Prelude.Nothing =
-    sem_Else_Nothing
--- semantic domain
-type T_Else = ( Else,T_Else_1)
-type T_Else_1 = LintSettings ->
-                String ->
-                (M.Map String [Region]) ->
-                Bool ->
-                Bool ->
-                Int ->
-                Region ->
-                Int ->
-                ([M.Map String (Bool, Region)]) ->
-                DeterminedVariableStyle ->
-                ( Bool,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Else = Inh_Else {config_Inh_Else :: LintSettings,funcName_Inh_Else :: String,globalDefinitions_Inh_Else :: (M.Map String [Region]),isInModule_Inh_Else :: Bool,isMeta_Inh_Else :: Bool,loopLevel_Inh_Else :: Int,mtokenPos_Inh_Else :: Region,scopeLevel_Inh_Else :: Int,scopes_Inh_Else :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Else :: DeterminedVariableStyle}
-data Syn_Else = Syn_Else {copy_Syn_Else :: Else,elseExists_Syn_Else :: Bool,globalDefinitions_Syn_Else :: (M.Map String [Region]),identifier_Syn_Else :: String,isInModule_Syn_Else :: Bool,mtokenPos_Syn_Else :: Region,scopes_Syn_Else :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Else :: DeterminedVariableStyle,warnings_Syn_Else :: ([String -> LintMessage])}
-wrap_Else :: T_Else ->
-             Inh_Else ->
-             Syn_Else
-wrap_Else sem (Inh_Else _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_Else _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_Else_Just :: T_MElse ->
-                 T_Else
-sem_Else_Just just_ =
-    (case (just_) of
-     { ( _justIcopy,just_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 Just _justIcopy
-                 {-# LINE 2495 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 2500 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Else_Just_1 :: T_Else_1
-                       sem_Else_Just_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 485 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        True
-                                        {-# LINE 2517 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOelseExists ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 2522 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _justOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 2527 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _justOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 2532 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _justOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 2537 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _justOconfig ->
-                                     (case (({-# LINE 484 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             M.empty : _lhsIscopes
-                                             {-# LINE 2542 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _justOscopes ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 2547 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _justOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 2552 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _justOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 2557 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _justOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 2562 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _justOloopLevel ->
-                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfuncName
-                                                  {-# LINE 2567 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _justOfuncName ->
-                                           (case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOisInModule _justOisMeta _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOvariableStyle) of
-                                            { ( _justIelseExists,_justIglobalDefinitions,_justIidentifier,_justIisInModule,_justImtokenPos,_justIscopes,_justIstatementCount,_justIvariableStyle,_justIwarnings) ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _justIglobalDefinitions
-                                                        {-# LINE 2574 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOglobalDefinitions ->
-                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _justIidentifier
-                                                         {-# LINE 2579 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOidentifier ->
-                                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _justIisInModule
-                                                          {-# LINE 2584 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisInModule ->
-                                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _justImtokenPos
-                                                           {-# LINE 2589 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOmtokenPos ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _justIscopes
-                                                            {-# LINE 2594 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOscopes ->
-                                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _justIvariableStyle
-                                                             {-# LINE 2599 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOvariableStyle ->
-                                                      (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _justIwarnings
-                                                              {-# LINE 2604 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _warnings_augmented_syn ->
-                                                       (case (({-# LINE 486 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               Region (rgStart _justImtokenPos) (customAdvanceToken (rgStart _justImtokenPos) T.Else)
-                                                               {-# LINE 2609 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _keywordPos ->
-                                                        (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                if not (lint_emptyBlocks _lhsIconfig) || _justIstatementCount > 0 then id else
-                                                                  (:) $ warn _keywordPos     EmptyElse
-                                                                {-# LINE 2615 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _warnings_augmented_f1 ->
-                                                         (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                 {-# LINE 2620 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOwarnings ->
-                                                          ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Else_Just_1)) of
-            { ( sem_Else_1) ->
-            ( _lhsOcopy,sem_Else_1) }) }) }) })
-sem_Else_Nothing :: T_Else
-sem_Else_Nothing =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Nothing
-            {-# LINE 2631 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 2636 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Else_Nothing_1 :: T_Else_1
-                  sem_Else_Nothing_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 202 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   False
-                                   {-# LINE 2653 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOelseExists ->
-                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    _lhsIglobalDefinitions
-                                    {-# LINE 2658 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOglobalDefinitions ->
-                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     unknownIdentifier
-                                     {-# LINE 2663 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOidentifier ->
-                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsIisInModule
-                                      {-# LINE 2668 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisInModule ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 2673 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 2678 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 2683 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 2688 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_Else_Nothing_1)) of
-       { ( sem_Else_1) ->
-       ( _lhsOcopy,sem_Else_1) }) }) })
--- ElseIf ------------------------------------------------------
--- cata
-sem_ElseIf :: ElseIf ->
-              T_ElseIf
-sem_ElseIf ( x1,x2) =
-    (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))
--- semantic domain
-type T_ElseIf = ( ElseIf,T_ElseIf_1)
-type T_ElseIf_1 = LintSettings ->
-                  String ->
-                  (M.Map String [Region]) ->
-                  Bool ->
-                  Bool ->
-                  Int ->
-                  Region ->
-                  Int ->
-                  ([M.Map String (Bool, Region)]) ->
-                  DeterminedVariableStyle ->
-                  ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_ElseIf = Inh_ElseIf {config_Inh_ElseIf :: LintSettings,funcName_Inh_ElseIf :: String,globalDefinitions_Inh_ElseIf :: (M.Map String [Region]),isInModule_Inh_ElseIf :: Bool,isMeta_Inh_ElseIf :: Bool,loopLevel_Inh_ElseIf :: Int,mtokenPos_Inh_ElseIf :: Region,scopeLevel_Inh_ElseIf :: Int,scopes_Inh_ElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Inh_ElseIf :: DeterminedVariableStyle}
-data Syn_ElseIf = Syn_ElseIf {copy_Syn_ElseIf :: ElseIf,globalDefinitions_Syn_ElseIf :: (M.Map String [Region]),identifier_Syn_ElseIf :: String,isInModule_Syn_ElseIf :: Bool,mtokenPos_Syn_ElseIf :: Region,scopes_Syn_ElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Syn_ElseIf :: DeterminedVariableStyle,warnings_Syn_ElseIf :: ([String -> LintMessage])}
-wrap_ElseIf :: T_ElseIf ->
-               Inh_ElseIf ->
-               Syn_ElseIf
-wrap_ElseIf sem (Inh_ElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_ElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_ElseIf_Tuple :: T_MExpr ->
-                    T_Block ->
-                    T_ElseIf
-sem_ElseIf_Tuple x1_ x2_ =
-    (case (x2_) of
-     { ( _x2Icopy,x2_1) ->
-         (case (x1_) of
-          { ( _x1Icopy,_x1ImtokenPos,x1_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (_x1Icopy,_x2Icopy)
-                      {-# LINE 2733 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 2738 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_ElseIf_Tuple_1 :: T_ElseIf_1
-                            sem_ElseIf_Tuple_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisMeta
-                                             {-# LINE 2755 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _x2OisMeta ->
-                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisInModule
-                                              {-# LINE 2760 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _x1OisInModule ->
-                                       (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIvariableStyle
-                                               {-# LINE 2765 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _x1OvariableStyle ->
-                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopes
-                                                {-# LINE 2770 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _x1Oscopes ->
-                                         (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopeLevel
-                                                 {-# LINE 2775 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _x1OscopeLevel ->
-                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsImtokenPos
-                                                  {-# LINE 2780 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _x1OmtokenPos ->
-                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIloopLevel
-                                                   {-# LINE 2785 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _x1OloopLevel ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisMeta
-                                                    {-# LINE 2790 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _x1OisMeta ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 2795 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _x1OglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 2800 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _x1OfuncName ->
-                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIconfig
-                                                       {-# LINE 2805 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _x1Oconfig ->
-                                                (case (({-# LINE 470 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        Nothing
-                                                        {-# LINE 2810 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _x1OvarBeingDefined ->
-                                                 (case (({-# LINE 469 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         True
-                                                         {-# LINE 2815 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _x1OtopLevel ->
-                                                  (case (({-# LINE 468 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 2820 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _x1OinParentheses ->
-                                                   (case (({-# LINE 467 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           False
-                                                           {-# LINE 2825 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _x1OisNegation ->
-                                                    (case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of
-                                                     { ( _x1IglobalDefinitions,_x1Iidentifier,_x1IisInModule,_x1IisSimpleExpression,_x1IisSingleVar,_x1Iscopes,_x1IvariableStyle,_x1Iwarnings) ->
-                                                         (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _x1IisInModule
-                                                                 {-# LINE 2832 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _x2OisInModule ->
-                                                          (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _x1IglobalDefinitions
-                                                                  {-# LINE 2837 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _x2OglobalDefinitions ->
-                                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIconfig
-                                                                   {-# LINE 2842 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _x2Oconfig ->
-                                                            (case (({-# LINE 471 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    M.empty : _x1Iscopes
-                                                                    {-# LINE 2847 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _x2Oscopes ->
-                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _x1IvariableStyle
-                                                                     {-# LINE 2852 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _x2OvariableStyle ->
-                                                              (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIscopeLevel
-                                                                      {-# LINE 2857 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _x2OscopeLevel ->
-                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _x1ImtokenPos
-                                                                       {-# LINE 2862 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _x2OmtokenPos ->
-                                                                (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _lhsIloopLevel
-                                                                        {-# LINE 2867 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _x2OloopLevel ->
-                                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIfuncName
-                                                                         {-# LINE 2872 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _x2OfuncName ->
-                                                                  (case (({-# LINE 472 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          False
-                                                                          {-# LINE 2877 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _x2OisRepeat ->
-                                                                   (case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisRepeat _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvariableStyle) of
-                                                                    { ( _x2IglobalDefinitions,_x2Iidentifier,_x2IisIfStatement,_x2IisInModule,_x2ImtokenPos,_x2Iscopes,_x2IstatementCount,_x2IvariableStyle,_x2Iwarnings) ->
-                                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _x2IglobalDefinitions
-                                                                                {-# LINE 2884 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOglobalDefinitions ->
-                                                                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 (const _x1Iidentifier _x2Iidentifier)
-                                                                                 {-# LINE 2889 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOidentifier ->
-                                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _x2IisInModule
-                                                                                  {-# LINE 2894 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisInModule ->
-                                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _x2ImtokenPos
-                                                                                   {-# LINE 2899 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOmtokenPos ->
-                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _x2Iscopes
-                                                                                    {-# LINE 2904 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOscopes ->
-                                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _x2IvariableStyle
-                                                                                     {-# LINE 2909 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOvariableStyle ->
-                                                                              (case (({-# LINE 474 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _x1Iwarnings ++ _x2Iwarnings
-                                                                                      {-# LINE 2914 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _warnings_augmented_syn ->
-                                                                               (case (({-# LINE 473 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       Region (rgStart _lhsImtokenPos) (customAdvanceToken (rgStart _lhsImtokenPos) T.Elseif)
-                                                                                       {-# LINE 2919 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _keywordPos ->
-                                                                                (case (({-# LINE 474 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _x2IstatementCount > 0 then id else
-                                                                                          (:) $ warn _keywordPos     EmptyElseIf
-                                                                                        {-# LINE 2925 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _warnings_augmented_f1 ->
-                                                                                 (case (({-# LINE 474 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                         {-# LINE 2930 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _lhsOwarnings ->
-                                                                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_ElseIf_Tuple_1)) of
-                 { ( sem_ElseIf_1) ->
-                 ( _lhsOcopy,sem_ElseIf_1) }) }) }) }) })
--- ElseIfList --------------------------------------------------
--- cata
-sem_ElseIfList :: ElseIfList ->
-                  T_ElseIfList
-sem_ElseIfList list =
-    (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))
--- semantic domain
-type T_ElseIfList = ( ElseIfList,T_ElseIfList_1)
-type T_ElseIfList_1 = LintSettings ->
-                      String ->
-                      (M.Map String [Region]) ->
-                      Bool ->
-                      Bool ->
-                      Int ->
-                      Region ->
-                      Int ->
-                      ([M.Map String (Bool, Region)]) ->
-                      DeterminedVariableStyle ->
-                      ( Bool,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_ElseIfList = Inh_ElseIfList {config_Inh_ElseIfList :: LintSettings,funcName_Inh_ElseIfList :: String,globalDefinitions_Inh_ElseIfList :: (M.Map String [Region]),isInModule_Inh_ElseIfList :: Bool,isMeta_Inh_ElseIfList :: Bool,loopLevel_Inh_ElseIfList :: Int,mtokenPos_Inh_ElseIfList :: Region,scopeLevel_Inh_ElseIfList :: Int,scopes_Inh_ElseIfList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_ElseIfList :: DeterminedVariableStyle}
-data Syn_ElseIfList = Syn_ElseIfList {copy_Syn_ElseIfList :: ElseIfList,elseExists_Syn_ElseIfList :: Bool,globalDefinitions_Syn_ElseIfList :: (M.Map String [Region]),identifier_Syn_ElseIfList :: String,isInModule_Syn_ElseIfList :: Bool,mtokenPos_Syn_ElseIfList :: Region,scopes_Syn_ElseIfList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_ElseIfList :: DeterminedVariableStyle,warnings_Syn_ElseIfList :: ([String -> LintMessage])}
-wrap_ElseIfList :: T_ElseIfList ->
-                   Inh_ElseIfList ->
-                   Syn_ElseIfList
-wrap_ElseIfList sem (Inh_ElseIfList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_ElseIfList _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_ElseIfList_Cons :: T_MElseIf ->
-                       T_ElseIfList ->
-                       T_ElseIfList
-sem_ElseIfList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,tl_1) ->
-         (case (hd_) of
-          { ( _hdIcopy,hd_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 2975 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 2980 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_ElseIfList_Cons_1 :: T_ElseIfList_1
-                            sem_ElseIfList_Cons_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 459 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             True
-                                             {-# LINE 2997 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _lhsOelseExists ->
-                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopes
-                                              {-# LINE 3002 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _hdOscopes ->
-                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisMeta
-                                               {-# LINE 3007 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _hdOisMeta ->
-                                        (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIconfig
-                                                {-# LINE 3012 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _hdOconfig ->
-                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIvariableStyle
-                                                 {-# LINE 3017 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _hdOvariableStyle ->
-                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIscopeLevel
-                                                  {-# LINE 3022 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _hdOscopeLevel ->
-                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsImtokenPos
-                                                   {-# LINE 3027 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _hdOmtokenPos ->
-                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIloopLevel
-                                                    {-# LINE 3032 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _hdOloopLevel ->
-                                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIisInModule
-                                                     {-# LINE 3037 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _hdOisInModule ->
-                                              (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIglobalDefinitions
-                                                      {-# LINE 3042 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _hdOglobalDefinitions ->
-                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIfuncName
-                                                       {-# LINE 3047 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _hdOfuncName ->
-                                                (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
-                                                 { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _hdIscopes
-                                                             {-# LINE 3054 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _tlOscopes ->
-                                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _lhsIisMeta
-                                                              {-# LINE 3059 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _tlOisMeta ->
-                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _hdIisInModule
-                                                               {-# LINE 3064 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _tlOisInModule ->
-                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _hdIglobalDefinitions
-                                                                {-# LINE 3069 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _tlOglobalDefinitions ->
-                                                         (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIconfig
-                                                                 {-# LINE 3074 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _tlOconfig ->
-                                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _hdIvariableStyle
-                                                                  {-# LINE 3079 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _tlOvariableStyle ->
-                                                           (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIscopeLevel
-                                                                   {-# LINE 3084 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _tlOscopeLevel ->
-                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _hdImtokenPos
-                                                                    {-# LINE 3089 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _tlOmtokenPos ->
-                                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIloopLevel
-                                                                     {-# LINE 3094 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _tlOloopLevel ->
-                                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIfuncName
-                                                                      {-# LINE 3099 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _tlOfuncName ->
-                                                               (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
-                                                                { ( _tlIelseExists,_tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->
-                                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            _tlIglobalDefinitions
-                                                                            {-# LINE 3106 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _lhsOglobalDefinitions ->
-                                                                     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             (const _hdIidentifier _tlIidentifier)
-                                                                             {-# LINE 3111 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOidentifier ->
-                                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _tlIisInModule
-                                                                              {-# LINE 3116 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOisInModule ->
-                                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _tlImtokenPos
-                                                                               {-# LINE 3121 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOmtokenPos ->
-                                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _tlIscopes
-                                                                                {-# LINE 3126 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOscopes ->
-                                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _tlIvariableStyle
-                                                                                 {-# LINE 3131 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOvariableStyle ->
-                                                                          (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _hdIwarnings ++ _tlIwarnings
-                                                                                  {-# LINE 3136 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOwarnings ->
-                                                                           ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_ElseIfList_Cons_1)) of
-                 { ( sem_ElseIfList_1) ->
-                 ( _lhsOcopy,sem_ElseIfList_1) }) }) }) }) })
-sem_ElseIfList_Nil :: T_ElseIfList
-sem_ElseIfList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 3147 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 3152 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_ElseIfList_Nil_1 :: T_ElseIfList_1
-                  sem_ElseIfList_Nil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 202 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   False
-                                   {-# LINE 3169 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOelseExists ->
-                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    _lhsIglobalDefinitions
-                                    {-# LINE 3174 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOglobalDefinitions ->
-                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     unknownIdentifier
-                                     {-# LINE 3179 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOidentifier ->
-                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsIisInModule
-                                      {-# LINE 3184 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisInModule ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 3189 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 3194 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 3199 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 3204 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_ElseIfList_Nil_1)) of
-       { ( sem_ElseIfList_1) ->
-       ( _lhsOcopy,sem_ElseIfList_1) }) }) })
--- Expr --------------------------------------------------------
--- cata
-sem_Expr :: Expr ->
-            T_Expr
-sem_Expr (ANil) =
-    (sem_Expr_ANil)
-sem_Expr (AFalse) =
-    (sem_Expr_AFalse)
-sem_Expr (ATrue) =
-    (sem_Expr_ATrue)
-sem_Expr (ANumber _num) =
-    (sem_Expr_ANumber _num)
-sem_Expr (AString _str) =
-    (sem_Expr_AString (sem_MToken _str))
-sem_Expr (AVarArg) =
-    (sem_Expr_AVarArg)
-sem_Expr (AnonymousFunc _pars _body) =
-    (sem_Expr_AnonymousFunc _pars (sem_Block _body))
-sem_Expr (APrefixExpr _pexpr) =
-    (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))
-sem_Expr (ATableConstructor _fields) =
-    (sem_Expr_ATableConstructor (sem_FieldList _fields))
-sem_Expr (BinOpExpr _op _left _right) =
-    (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))
-sem_Expr (UnOpExpr _op _right) =
-    (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))
--- semantic domain
-type T_Expr = ( Expr,T_Expr_1)
-type T_Expr_1 = LintSettings ->
-                String ->
-                (M.Map String [Region]) ->
-                Bool ->
-                Bool ->
-                Bool ->
-                Bool ->
-                Int ->
-                Region ->
-                Int ->
-                ([M.Map String (Bool, Region)]) ->
-                Bool ->
-                (Maybe MToken) ->
-                DeterminedVariableStyle ->
-                ( (M.Map String [Region]),String,Bool,Bool,(Maybe MToken),Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Expr = Inh_Expr {config_Inh_Expr :: LintSettings,funcName_Inh_Expr :: String,globalDefinitions_Inh_Expr :: (M.Map String [Region]),inParentheses_Inh_Expr :: Bool,isInModule_Inh_Expr :: Bool,isMeta_Inh_Expr :: Bool,isNegation_Inh_Expr :: Bool,loopLevel_Inh_Expr :: Int,mtokenPos_Inh_Expr :: Region,scopeLevel_Inh_Expr :: Int,scopes_Inh_Expr :: ([M.Map String (Bool, Region)]),topLevel_Inh_Expr :: Bool,varBeingDefined_Inh_Expr :: (Maybe MToken),variableStyle_Inh_Expr :: DeterminedVariableStyle}
-data Syn_Expr = Syn_Expr {copy_Syn_Expr :: Expr,globalDefinitions_Syn_Expr :: (M.Map String [Region]),identifier_Syn_Expr :: String,isInModule_Syn_Expr :: Bool,isSimpleExpression_Syn_Expr :: Bool,isSingleVar_Syn_Expr :: (Maybe MToken),mtokenPos_Syn_Expr :: Region,scopes_Syn_Expr :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Expr :: DeterminedVariableStyle,warnings_Syn_Expr :: ([String -> LintMessage])}
-wrap_Expr :: T_Expr ->
-             Inh_Expr ->
-             Syn_Expr
-wrap_Expr sem (Inh_Expr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle
-     in  (Syn_Expr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_Expr_ANil :: T_Expr
-sem_Expr_ANil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ANil
-            {-# LINE 3267 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 3272 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Expr_ANil_1 :: T_Expr_1
-                  sem_Expr_ANil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIinParentheses
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIisNegation
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsItopLevel
-                         _lhsIvarBeingDefined
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 3293 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 3298 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 3303 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      True
-                                      {-# LINE 3308 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSimpleExpression ->
-                               (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       Nothing
-                                       {-# LINE 3313 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOisSingleVar ->
-                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsImtokenPos
-                                        {-# LINE 3318 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOmtokenPos ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3323 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOscopes ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 3328 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 3333 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))
-              in  sem_Expr_ANil_1)) of
-       { ( sem_Expr_1) ->
-       ( _lhsOcopy,sem_Expr_1) }) }) })
-sem_Expr_AFalse :: T_Expr
-sem_Expr_AFalse =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AFalse
-            {-# LINE 3344 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 3349 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Expr_AFalse_1 :: T_Expr_1
-                  sem_Expr_AFalse_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIinParentheses
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIisNegation
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsItopLevel
-                         _lhsIvarBeingDefined
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 3370 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 3375 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 3380 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      True
-                                      {-# LINE 3385 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSimpleExpression ->
-                               (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       Nothing
-                                       {-# LINE 3390 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOisSingleVar ->
-                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsImtokenPos
-                                        {-# LINE 3395 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOmtokenPos ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3400 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOscopes ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 3405 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 3410 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))
-              in  sem_Expr_AFalse_1)) of
-       { ( sem_Expr_1) ->
-       ( _lhsOcopy,sem_Expr_1) }) }) })
-sem_Expr_ATrue :: T_Expr
-sem_Expr_ATrue =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ATrue
-            {-# LINE 3421 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 3426 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Expr_ATrue_1 :: T_Expr_1
-                  sem_Expr_ATrue_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIinParentheses
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIisNegation
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsItopLevel
-                         _lhsIvarBeingDefined
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 3447 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 3452 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 3457 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      True
-                                      {-# LINE 3462 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSimpleExpression ->
-                               (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       Nothing
-                                       {-# LINE 3467 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOisSingleVar ->
-                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsImtokenPos
-                                        {-# LINE 3472 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOmtokenPos ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3477 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOscopes ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 3482 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 3487 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))
-              in  sem_Expr_ATrue_1)) of
-       { ( sem_Expr_1) ->
-       ( _lhsOcopy,sem_Expr_1) }) }) })
-sem_Expr_ANumber :: String ->
-                    T_Expr
-sem_Expr_ANumber num_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ANumber num_
-            {-# LINE 3499 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 3504 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Expr_ANumber_1 :: T_Expr_1
-                  sem_Expr_ANumber_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIinParentheses
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIisNegation
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsItopLevel
-                         _lhsIvarBeingDefined
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 3525 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 3530 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 3535 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      True
-                                      {-# LINE 3540 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSimpleExpression ->
-                               (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       Nothing
-                                       {-# LINE 3545 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOisSingleVar ->
-                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsImtokenPos
-                                        {-# LINE 3550 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOmtokenPos ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3555 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOscopes ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 3560 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 3565 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))
-              in  sem_Expr_ANumber_1)) of
-       { ( sem_Expr_1) ->
-       ( _lhsOcopy,sem_Expr_1) }) }) })
-sem_Expr_AString :: T_MToken ->
-                    T_Expr
-sem_Expr_AString str_ =
-    (case (str_) of
-     { ( _strIcopy,_strImtok,_strImtokenPos,str_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 AString _strIcopy
-                 {-# LINE 3579 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 3584 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Expr_AString_1 :: T_Expr_1
-                       sem_Expr_AString_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIinParentheses
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIisNegation
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsItopLevel
-                              _lhsIvarBeingDefined
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIglobalDefinitions
-                                        {-# LINE 3605 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _strOglobalDefinitions ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3610 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _strOscopes ->
-                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsImtokenPos
-                                          {-# LINE 3615 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _strOmtokenPos ->
-                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisMeta
-                                           {-# LINE 3620 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _strOisMeta ->
-                                    (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIisInModule
-                                            {-# LINE 3625 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _strOisInModule ->
-                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfuncName
-                                             {-# LINE 3630 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _strOfuncName ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 3635 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _strOconfig ->
-                                       (case (str_1 _strOconfig _strOfuncName _strOglobalDefinitions _strOisInModule _strOisMeta _strOmtokenPos _strOscopes) of
-                                        { ( _strIglobalDefinitions,_strIidentifier,_strIisInModule,_strIscopes,_strIwarnings) ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _strIglobalDefinitions
-                                                    {-# LINE 3642 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _lhsOglobalDefinitions ->
-                                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _strIidentifier
-                                                     {-# LINE 3647 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOidentifier ->
-                                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _strIisInModule
-                                                      {-# LINE 3652 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _lhsOisInModule ->
-                                               (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       True
-                                                       {-# LINE 3657 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _lhsOisSimpleExpression ->
-                                                (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        Nothing
-                                                        {-# LINE 3662 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOisSingleVar ->
-                                                 (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _strImtokenPos
-                                                         {-# LINE 3667 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOmtokenPos ->
-                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _strIscopes
-                                                          {-# LINE 3672 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOscopes ->
-                                                   (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lhsIvariableStyle
-                                                           {-# LINE 3677 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOvariableStyle ->
-                                                    (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _strIwarnings
-                                                            {-# LINE 3682 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOwarnings ->
-                                                     ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Expr_AString_1)) of
-            { ( sem_Expr_1) ->
-            ( _lhsOcopy,sem_Expr_1) }) }) }) })
-sem_Expr_AVarArg :: T_Expr
-sem_Expr_AVarArg =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AVarArg
-            {-# LINE 3693 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 3698 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Expr_AVarArg_1 :: T_Expr_1
-                  sem_Expr_AVarArg_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIinParentheses
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIisNegation
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsItopLevel
-                         _lhsIvarBeingDefined
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 3719 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 3724 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 3729 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 567 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      False
-                                      {-# LINE 3734 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSimpleExpression ->
-                               (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       Nothing
-                                       {-# LINE 3739 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOisSingleVar ->
-                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsImtokenPos
-                                        {-# LINE 3744 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOmtokenPos ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3749 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOscopes ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 3754 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 3759 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))
-              in  sem_Expr_AVarArg_1)) of
-       { ( sem_Expr_1) ->
-       ( _lhsOcopy,sem_Expr_1) }) }) })
-sem_Expr_AnonymousFunc :: ([MToken]) ->
-                          T_Block ->
-                          T_Expr
-sem_Expr_AnonymousFunc pars_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 AnonymousFunc pars_ _bodyIcopy
-                 {-# LINE 3774 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 3779 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Expr_AnonymousFunc_1 :: T_Expr_1
-                       sem_Expr_AnonymousFunc_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIinParentheses
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIisNegation
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsItopLevel
-                              _lhsIvarBeingDefined
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIisInModule
-                                        {-# LINE 3800 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _bodyOisInModule ->
-                                 (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIglobalDefinitions
-                                         {-# LINE 3805 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _bodyOglobalDefinitions ->
-                                  (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIconfig
-                                          {-# LINE 3810 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _bodyOconfig ->
-                                   (case (({-# LINE 572 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisMeta || findSelf pars_
-                                           {-# LINE 3815 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _bodyOisMeta ->
-                                    (case (({-# LINE 569 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            M.fromList $ map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) pars_
-                                            {-# LINE 3820 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _introduces ->
-                                     (case (({-# LINE 570 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _introduces     : _lhsIscopes
-                                             {-# LINE 3825 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _bodyOscopes ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 3830 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _bodyOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 3835 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _bodyOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 3840 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _bodyOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 3845 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _bodyOloopLevel ->
-                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfuncName
-                                                  {-# LINE 3850 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _bodyOfuncName ->
-                                           (case (({-# LINE 571 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   False
-                                                   {-# LINE 3855 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _bodyOisRepeat ->
-                                            (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                             { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                 (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _bodyIglobalDefinitions
-                                                         {-# LINE 3862 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOglobalDefinitions ->
-                                                  (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _bodyIidentifier
-                                                          {-# LINE 3867 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOidentifier ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _bodyIisInModule
-                                                           {-# LINE 3872 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOisInModule ->
-                                                    (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            True
-                                                            {-# LINE 3877 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOisSimpleExpression ->
-                                                     (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             Nothing
-                                                             {-# LINE 3882 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOisSingleVar ->
-                                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _bodyImtokenPos
-                                                              {-# LINE 3887 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOmtokenPos ->
-                                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _bodyIscopes
-                                                               {-# LINE 3892 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOscopes ->
-                                                        (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _bodyIvariableStyle
-                                                                {-# LINE 3897 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOvariableStyle ->
-                                                         (case (({-# LINE 575 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _bodyIwarnings
-                                                                 {-# LINE 3902 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _warnings_augmented_syn ->
-                                                          (case (({-# LINE 573 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  filter (/= MToken emptyRg VarArg) $ pars_
-                                                                  {-# LINE 3907 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _argIdentifiers ->
-                                                           (case (({-# LINE 575 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   if not (lint_shadowing _lhsIconfig) then id else
-                                                                     (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
-                                                                   {-# LINE 3913 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _warnings_augmented_f1 ->
-                                                            (case (({-# LINE 575 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                    {-# LINE 3918 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOwarnings ->
-                                                             ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Expr_AnonymousFunc_1)) of
-            { ( sem_Expr_1) ->
-            ( _lhsOcopy,sem_Expr_1) }) }) }) })
-sem_Expr_APrefixExpr :: T_PrefixExp ->
-                        T_Expr
-sem_Expr_APrefixExpr pexpr_ =
-    (case (pexpr_) of
-     { ( _pexprIcopy,_pexprIhasSuffixes,_pexprImtokenPos,_pexprIvarName,pexpr_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 APrefixExpr _pexprIcopy
-                 {-# LINE 3932 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 3937 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Expr_APrefixExpr_1 :: T_Expr_1
-                       sem_Expr_APrefixExpr_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIinParentheses
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIisNegation
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsItopLevel
-                              _lhsIvarBeingDefined
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 178 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvarBeingDefined
-                                        {-# LINE 3958 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _pexprOvarBeingDefined ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 3963 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _pexprOscopes ->
-                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisMeta
-                                          {-# LINE 3968 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _pexprOisMeta ->
-                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisInModule
-                                           {-# LINE 3973 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _pexprOisInModule ->
-                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIglobalDefinitions
-                                            {-# LINE 3978 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _pexprOglobalDefinitions ->
-                                     (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIconfig
-                                             {-# LINE 3983 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _pexprOconfig ->
-                                      (case (({-# LINE 578 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              True
-                                              {-# LINE 3988 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _pexprOregisterVarUse ->
-                                       (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIvariableStyle
-                                               {-# LINE 3993 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _pexprOvariableStyle ->
-                                        (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsItopLevel
-                                                {-# LINE 3998 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _pexprOtopLevel ->
-                                         (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopeLevel
-                                                 {-# LINE 4003 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _pexprOscopeLevel ->
-                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsImtokenPos
-                                                  {-# LINE 4008 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _pexprOmtokenPos ->
-                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIloopLevel
-                                                   {-# LINE 4013 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _pexprOloopLevel ->
-                                            (case (({-# LINE 169 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisNegation
-                                                    {-# LINE 4018 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _pexprOisNegation ->
-                                             (case (({-# LINE 181 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIinParentheses
-                                                     {-# LINE 4023 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _pexprOinParentheses ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 4028 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _pexprOfuncName ->
-                                               (case (pexpr_1 _pexprOconfig _pexprOfuncName _pexprOglobalDefinitions _pexprOinParentheses _pexprOisInModule _pexprOisMeta _pexprOisNegation _pexprOloopLevel _pexprOmtokenPos _pexprOregisterVarUse _pexprOscopeLevel _pexprOscopes _pexprOtopLevel _pexprOvarBeingDefined _pexprOvariableStyle) of
-                                                { ( _pexprIglobalDefinitions,_pexprIidentifier,_pexprIisInModule,_pexprIisSimpleExpression,_pexprIisSingleVar,_pexprIscopes,_pexprIvariableStyle,_pexprIwarnings) ->
-                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _pexprIglobalDefinitions
-                                                            {-# LINE 4035 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOglobalDefinitions ->
-                                                     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _pexprIidentifier
-                                                             {-# LINE 4040 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOidentifier ->
-                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _pexprIisInModule
-                                                              {-# LINE 4045 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOisInModule ->
-                                                       (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _pexprIisSimpleExpression
-                                                               {-# LINE 4050 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOisSimpleExpression ->
-                                                        (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _pexprIisSingleVar
-                                                                {-# LINE 4055 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOisSingleVar ->
-                                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _pexprImtokenPos
-                                                                 {-# LINE 4060 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOmtokenPos ->
-                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _pexprIscopes
-                                                                  {-# LINE 4065 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOscopes ->
-                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _pexprIvariableStyle
-                                                                   {-# LINE 4070 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _lhsOvariableStyle ->
-                                                            (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _pexprIwarnings
-                                                                    {-# LINE 4075 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOwarnings ->
-                                                             ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Expr_APrefixExpr_1)) of
-            { ( sem_Expr_1) ->
-            ( _lhsOcopy,sem_Expr_1) }) }) }) })
-sem_Expr_ATableConstructor :: T_FieldList ->
-                              T_Expr
-sem_Expr_ATableConstructor fields_ =
-    (case (fields_) of
-     { ( _fieldsIcopy,fields_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 ATableConstructor _fieldsIcopy
-                 {-# LINE 4089 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 4094 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Expr_ATableConstructor_1 :: T_Expr_1
-                       sem_Expr_ATableConstructor_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIinParentheses
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIisNegation
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsItopLevel
-                              _lhsIvarBeingDefined
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 4115 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _fieldsOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 4120 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _fieldsOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 4125 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _fieldsOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 4130 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _fieldsOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 4135 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _fieldsOconfig ->
-                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIvariableStyle
-                                             {-# LINE 4140 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _fieldsOvariableStyle ->
-                                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopeLevel
-                                              {-# LINE 4145 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _fieldsOscopeLevel ->
-                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsImtokenPos
-                                               {-# LINE 4150 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _fieldsOmtokenPos ->
-                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIloopLevel
-                                                {-# LINE 4155 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _fieldsOloopLevel ->
-                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIfuncName
-                                                 {-# LINE 4160 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _fieldsOfuncName ->
-                                          (case (({-# LINE 580 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  S.empty
-                                                  {-# LINE 4165 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _fieldsOfieldNames ->
-                                           (case (fields_1 _fieldsOconfig _fieldsOfieldNames _fieldsOfuncName _fieldsOglobalDefinitions _fieldsOisInModule _fieldsOisMeta _fieldsOloopLevel _fieldsOmtokenPos _fieldsOscopeLevel _fieldsOscopes _fieldsOvariableStyle) of
-                                            { ( _fieldsIfieldNames,_fieldsIglobalDefinitions,_fieldsIidentifier,_fieldsIisInModule,_fieldsImtokenPos,_fieldsIscopes,_fieldsIvariableStyle,_fieldsIwarnings) ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _fieldsIglobalDefinitions
-                                                        {-# LINE 4172 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOglobalDefinitions ->
-                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _fieldsIidentifier
-                                                         {-# LINE 4177 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOidentifier ->
-                                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _fieldsIisInModule
-                                                          {-# LINE 4182 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisInModule ->
-                                                   (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           True
-                                                           {-# LINE 4187 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOisSimpleExpression ->
-                                                    (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            Nothing
-                                                            {-# LINE 4192 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOisSingleVar ->
-                                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _fieldsImtokenPos
-                                                             {-# LINE 4197 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOmtokenPos ->
-                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _fieldsIscopes
-                                                              {-# LINE 4202 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOscopes ->
-                                                       (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _fieldsIvariableStyle
-                                                               {-# LINE 4207 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOvariableStyle ->
-                                                        (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _fieldsIwarnings
-                                                                {-# LINE 4212 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOwarnings ->
-                                                         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Expr_ATableConstructor_1)) of
-            { ( sem_Expr_1) ->
-            ( _lhsOcopy,sem_Expr_1) }) }) }) })
-sem_Expr_BinOpExpr :: T_BinOp ->
-                      T_MExpr ->
-                      T_MExpr ->
-                      T_Expr
-sem_Expr_BinOpExpr op_ left_ right_ =
-    (case (right_) of
-     { ( _rightIcopy,_rightImtokenPos,right_1) ->
-         (case (left_) of
-          { ( _leftIcopy,_leftImtokenPos,left_1) ->
-              (case (op_) of
-               { ( _opIcopy,op_1) ->
-                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                           BinOpExpr _opIcopy _leftIcopy _rightIcopy
-                           {-# LINE 4232 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                           )) of
-                    { _copy ->
-                    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                            _copy
-                            {-# LINE 4237 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                            )) of
-                     { _lhsOcopy ->
-                     (case ((let sem_Expr_BinOpExpr_1 :: T_Expr_1
-                                 sem_Expr_BinOpExpr_1 =
-                                     (\ _lhsIconfig
-                                        _lhsIfuncName
-                                        _lhsIglobalDefinitions
-                                        _lhsIinParentheses
-                                        _lhsIisInModule
-                                        _lhsIisMeta
-                                        _lhsIisNegation
-                                        _lhsIloopLevel
-                                        _lhsImtokenPos
-                                        _lhsIscopeLevel
-                                        _lhsIscopes
-                                        _lhsItopLevel
-                                        _lhsIvarBeingDefined
-                                        _lhsIvariableStyle ->
-                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIscopes
-                                                  {-# LINE 4258 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _opOscopes ->
-                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIvariableStyle
-                                                   {-# LINE 4263 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _opOvariableStyle ->
-                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIscopeLevel
-                                                    {-# LINE 4268 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _opOscopeLevel ->
-                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsImtokenPos
-                                                     {-# LINE 4273 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _opOmtokenPos ->
-                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIloopLevel
-                                                      {-# LINE 4278 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _opOloopLevel ->
-                                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIisMeta
-                                                       {-# LINE 4283 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _opOisMeta ->
-                                                (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIisInModule
-                                                        {-# LINE 4288 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _opOisInModule ->
-                                                 (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIglobalDefinitions
-                                                         {-# LINE 4293 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _opOglobalDefinitions ->
-                                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIfuncName
-                                                          {-# LINE 4298 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _opOfuncName ->
-                                                   (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lhsIconfig
-                                                           {-# LINE 4303 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _opOconfig ->
-                                                    (case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of
-                                                     { ( _opIglobalDefinitions,_opIidentifier,_opIisInModule,_opImtokenPos,_opIscopes,_opIvariableStyle,_opIwarnings) ->
-                                                         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _opIscopes
-                                                                 {-# LINE 4310 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _leftOscopes ->
-                                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIisMeta
-                                                                  {-# LINE 4315 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _leftOisMeta ->
-                                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIconfig
-                                                                   {-# LINE 4320 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _leftOconfig ->
-                                                            (case (({-# LINE 586 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    Nothing
-                                                                    {-# LINE 4325 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _leftOvarBeingDefined ->
-                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _opIvariableStyle
-                                                                     {-# LINE 4330 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _leftOvariableStyle ->
-                                                              (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIscopeLevel
-                                                                      {-# LINE 4335 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _leftOscopeLevel ->
-                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _opImtokenPos
-                                                                       {-# LINE 4340 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _leftOmtokenPos ->
-                                                                (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _lhsIloopLevel
-                                                                        {-# LINE 4345 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _leftOloopLevel ->
-                                                                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _opIisInModule
-                                                                         {-# LINE 4350 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _leftOisInModule ->
-                                                                  (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _opIglobalDefinitions
-                                                                          {-# LINE 4355 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _leftOglobalDefinitions ->
-                                                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _lhsIfuncName
-                                                                           {-# LINE 4360 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _leftOfuncName ->
-                                                                    (case (({-# LINE 585 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            False
-                                                                            {-# LINE 4365 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _leftOtopLevel ->
-                                                                     (case (({-# LINE 584 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             False
-                                                                             {-# LINE 4370 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _leftOinParentheses ->
-                                                                      (case (({-# LINE 583 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              False
-                                                                              {-# LINE 4375 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _leftOisNegation ->
-                                                                       (case (left_1 _leftOconfig _leftOfuncName _leftOglobalDefinitions _leftOinParentheses _leftOisInModule _leftOisMeta _leftOisNegation _leftOloopLevel _leftOmtokenPos _leftOscopeLevel _leftOscopes _leftOtopLevel _leftOvarBeingDefined _leftOvariableStyle) of
-                                                                        { ( _leftIglobalDefinitions,_leftIidentifier,_leftIisInModule,_leftIisSimpleExpression,_leftIisSingleVar,_leftIscopes,_leftIvariableStyle,_leftIwarnings) ->
-                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _leftIscopes
-                                                                                    {-# LINE 4382 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _rightOscopes ->
-                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _lhsIisMeta
-                                                                                     {-# LINE 4387 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _rightOisMeta ->
-                                                                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _leftIisInModule
-                                                                                      {-# LINE 4392 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _rightOisInModule ->
-                                                                               (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _leftIglobalDefinitions
-                                                                                       {-# LINE 4397 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _rightOglobalDefinitions ->
-                                                                                (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        _lhsIconfig
-                                                                                        {-# LINE 4402 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _rightOconfig ->
-                                                                                 (case (({-# LINE 590 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         Nothing
-                                                                                         {-# LINE 4407 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _rightOvarBeingDefined ->
-                                                                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          _leftIvariableStyle
-                                                                                          {-# LINE 4412 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _rightOvariableStyle ->
-                                                                                   (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           _lhsIscopeLevel
-                                                                                           {-# LINE 4417 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _rightOscopeLevel ->
-                                                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            _leftImtokenPos
-                                                                                            {-# LINE 4422 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _rightOmtokenPos ->
-                                                                                     (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                             _lhsIloopLevel
-                                                                                             {-# LINE 4427 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                             )) of
-                                                                                      { _rightOloopLevel ->
-                                                                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                              _lhsIfuncName
-                                                                                              {-# LINE 4432 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                              )) of
-                                                                                       { _rightOfuncName ->
-                                                                                       (case (({-# LINE 589 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                               False
-                                                                                               {-# LINE 4437 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                               )) of
-                                                                                        { _rightOtopLevel ->
-                                                                                        (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                False
-                                                                                                {-# LINE 4442 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                )) of
-                                                                                         { _rightOinParentheses ->
-                                                                                         (case (({-# LINE 587 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                 False
-                                                                                                 {-# LINE 4447 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                 )) of
-                                                                                          { _rightOisNegation ->
-                                                                                          (case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of
-                                                                                           { ( _rightIglobalDefinitions,_rightIidentifier,_rightIisInModule,_rightIisSimpleExpression,_rightIisSingleVar,_rightIscopes,_rightIvariableStyle,_rightIwarnings) ->
-                                                                                               (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                       _rightIglobalDefinitions
-                                                                                                       {-# LINE 4454 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                       )) of
-                                                                                                { _lhsOglobalDefinitions ->
-                                                                                                (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                        (const _opIidentifier (const _leftIidentifier _rightIidentifier))
-                                                                                                        {-# LINE 4459 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                        )) of
-                                                                                                 { _lhsOidentifier ->
-                                                                                                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                         _rightIisInModule
-                                                                                                         {-# LINE 4464 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                         )) of
-                                                                                                  { _lhsOisInModule ->
-                                                                                                  (case (({-# LINE 582 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                          False
-                                                                                                          {-# LINE 4469 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                          )) of
-                                                                                                   { _lhsOisSimpleExpression ->
-                                                                                                   (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                           (const (const Nothing) _leftIisSingleVar _rightIisSingleVar)
-                                                                                                           {-# LINE 4474 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                           )) of
-                                                                                                    { _lhsOisSingleVar ->
-                                                                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                            _rightImtokenPos
-                                                                                                            {-# LINE 4479 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                            )) of
-                                                                                                     { _lhsOmtokenPos ->
-                                                                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                             _rightIscopes
-                                                                                                             {-# LINE 4484 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                             )) of
-                                                                                                      { _lhsOscopes ->
-                                                                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                              _rightIvariableStyle
-                                                                                                              {-# LINE 4489 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                              )) of
-                                                                                                       { _lhsOvariableStyle ->
-                                                                                                       (case (({-# LINE 594 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                               _opIwarnings ++ _leftIwarnings ++ _rightIwarnings
-                                                                                                               {-# LINE 4494 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                               )) of
-                                                                                                        { _warnings_augmented_syn ->
-                                                                                                        (case (({-# LINE 593 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                oppositeBinOp _opIcopy
-                                                                                                                {-# LINE 4499 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                )) of
-                                                                                                         { _stupidNegation ->
-                                                                                                         (case (({-# LINE 594 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                 if not (lint_doubleNegations _lhsIconfig) || not _lhsIisNegation || isNothing _stupidNegation     then id else
-                                                                                                                   (:) $ warn _lhsImtokenPos $ SillyNegation$ fromMaybe (error "fromMaybe sem Expr loc.stupidNegation") _stupidNegation
-                                                                                                                 {-# LINE 4505 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                 )) of
-                                                                                                          { _warnings_augmented_f1 ->
-                                                                                                          (case (({-# LINE 594 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                  foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                                                  {-# LINE 4510 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                  )) of
-                                                                                                           { _lhsOwarnings ->
-                                                                                                           ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                             in  sem_Expr_BinOpExpr_1)) of
-                      { ( sem_Expr_1) ->
-                      ( _lhsOcopy,sem_Expr_1) }) }) }) }) }) })
-sem_Expr_UnOpExpr :: T_UnOp ->
-                     T_MExpr ->
-                     T_Expr
-sem_Expr_UnOpExpr op_ right_ =
-    (case (right_) of
-     { ( _rightIcopy,_rightImtokenPos,right_1) ->
-         (case (op_) of
-          { ( _opIcopy,op_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      UnOpExpr _opIcopy _rightIcopy
-                      {-# LINE 4527 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 4532 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Expr_UnOpExpr_1 :: T_Expr_1
-                            sem_Expr_UnOpExpr_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIinParentheses
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIisNegation
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsItopLevel
-                                   _lhsIvarBeingDefined
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 4553 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _opOscopes ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 4558 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _opOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 4563 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _opOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 4568 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _opOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 4573 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _opOloopLevel ->
-                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIisMeta
-                                                  {-# LINE 4578 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _opOisMeta ->
-                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIisInModule
-                                                   {-# LINE 4583 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _opOisInModule ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIglobalDefinitions
-                                                    {-# LINE 4588 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _opOglobalDefinitions ->
-                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIfuncName
-                                                     {-# LINE 4593 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _opOfuncName ->
-                                              (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIconfig
-                                                      {-# LINE 4598 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _opOconfig ->
-                                               (case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of
-                                                { ( _opIglobalDefinitions,_opIidentifier,_opIisInModule,_opIisNegation,_opImtokenPos,_opIscopes,_opIvariableStyle,_opIwarnings) ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _opIscopes
-                                                            {-# LINE 4605 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _rightOscopes ->
-                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIisMeta
-                                                             {-# LINE 4610 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _rightOisMeta ->
-                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _opIisInModule
-                                                              {-# LINE 4615 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _rightOisInModule ->
-                                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _opIglobalDefinitions
-                                                               {-# LINE 4620 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _rightOglobalDefinitions ->
-                                                        (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIconfig
-                                                                {-# LINE 4625 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _rightOconfig ->
-                                                         (case (({-# LINE 601 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 Nothing
-                                                                 {-# LINE 4630 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _rightOvarBeingDefined ->
-                                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _opIvariableStyle
-                                                                  {-# LINE 4635 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _rightOvariableStyle ->
-                                                           (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIscopeLevel
-                                                                   {-# LINE 4640 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _rightOscopeLevel ->
-                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _opImtokenPos
-                                                                    {-# LINE 4645 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _rightOmtokenPos ->
-                                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIloopLevel
-                                                                     {-# LINE 4650 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _rightOloopLevel ->
-                                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIfuncName
-                                                                      {-# LINE 4655 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _rightOfuncName ->
-                                                               (case (({-# LINE 600 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       False
-                                                                       {-# LINE 4660 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _rightOtopLevel ->
-                                                                (case (({-# LINE 599 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        False
-                                                                        {-# LINE 4665 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _rightOinParentheses ->
-                                                                 (case (({-# LINE 598 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _opIisNegation
-                                                                         {-# LINE 4670 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _rightOisNegation ->
-                                                                  (case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of
-                                                                   { ( _rightIglobalDefinitions,_rightIidentifier,_rightIisInModule,_rightIisSimpleExpression,_rightIisSingleVar,_rightIscopes,_rightIvariableStyle,_rightIwarnings) ->
-                                                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _rightIglobalDefinitions
-                                                                               {-# LINE 4677 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOglobalDefinitions ->
-                                                                        (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                (const _opIidentifier _rightIidentifier)
-                                                                                {-# LINE 4682 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOidentifier ->
-                                                                         (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _rightIisInModule
-                                                                                 {-# LINE 4687 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOisInModule ->
-                                                                          (case (({-# LINE 597 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  False
-                                                                                  {-# LINE 4692 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisSimpleExpression ->
-                                                                           (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _rightIisSingleVar
-                                                                                   {-# LINE 4697 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOisSingleVar ->
-                                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _rightImtokenPos
-                                                                                    {-# LINE 4702 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOmtokenPos ->
-                                                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _rightIscopes
-                                                                                     {-# LINE 4707 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOscopes ->
-                                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _rightIvariableStyle
-                                                                                      {-# LINE 4712 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOvariableStyle ->
-                                                                               (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _opIwarnings ++ _rightIwarnings
-                                                                                       {-# LINE 4717 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _lhsOwarnings ->
-                                                                                ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Expr_UnOpExpr_1)) of
-                 { ( sem_Expr_1) ->
-                 ( _lhsOcopy,sem_Expr_1) }) }) }) }) })
--- ExprSuffixList ----------------------------------------------
--- cata
-sem_ExprSuffixList :: ExprSuffixList ->
-                      T_ExprSuffixList
-sem_ExprSuffixList list =
-    (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))
--- semantic domain
-type T_ExprSuffixList = ( ExprSuffixList,T_ExprSuffixList_1)
-type T_ExprSuffixList_1 = LintSettings ->
-                          String ->
-                          (M.Map String [Region]) ->
-                          Bool ->
-                          Bool ->
-                          Int ->
-                          Region ->
-                          Int ->
-                          ([M.Map String (Bool, Region)]) ->
-                          DeterminedVariableStyle ->
-                          ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_ExprSuffixList = Inh_ExprSuffixList {config_Inh_ExprSuffixList :: LintSettings,funcName_Inh_ExprSuffixList :: String,globalDefinitions_Inh_ExprSuffixList :: (M.Map String [Region]),isInModule_Inh_ExprSuffixList :: Bool,isMeta_Inh_ExprSuffixList :: Bool,loopLevel_Inh_ExprSuffixList :: Int,mtokenPos_Inh_ExprSuffixList :: Region,scopeLevel_Inh_ExprSuffixList :: Int,scopes_Inh_ExprSuffixList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_ExprSuffixList :: DeterminedVariableStyle}
-data Syn_ExprSuffixList = Syn_ExprSuffixList {copy_Syn_ExprSuffixList :: ExprSuffixList,globalDefinitions_Syn_ExprSuffixList :: (M.Map String [Region]),identifier_Syn_ExprSuffixList :: String,isInModule_Syn_ExprSuffixList :: Bool,isSimpleExpression_Syn_ExprSuffixList :: Bool,mtokenPos_Syn_ExprSuffixList :: Region,scopes_Syn_ExprSuffixList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_ExprSuffixList :: DeterminedVariableStyle,warnings_Syn_ExprSuffixList :: ([String -> LintMessage])}
-wrap_ExprSuffixList :: T_ExprSuffixList ->
-                       Inh_ExprSuffixList ->
-                       Syn_ExprSuffixList
-wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_ExprSuffixList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_ExprSuffixList_Cons :: T_PFExprSuffix ->
-                           T_ExprSuffixList ->
-                           T_ExprSuffixList
-sem_ExprSuffixList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,tl_1) ->
-         (case (hd_) of
-          { ( _hdIcopy,hd_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 4762 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 4767 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_ExprSuffixList_Cons_1 :: T_ExprSuffixList_1
-                            sem_ExprSuffixList_Cons_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 4784 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _hdOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 4789 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _hdOisMeta ->
-                                       (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIconfig
-                                               {-# LINE 4794 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _hdOconfig ->
-                                        (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIvariableStyle
-                                                {-# LINE 4799 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _hdOvariableStyle ->
-                                         (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopeLevel
-                                                 {-# LINE 4804 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _hdOscopeLevel ->
-                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsImtokenPos
-                                                  {-# LINE 4809 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _hdOmtokenPos ->
-                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIloopLevel
-                                                   {-# LINE 4814 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _hdOloopLevel ->
-                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisInModule
-                                                    {-# LINE 4819 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _hdOisInModule ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 4824 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _hdOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 4829 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _hdOfuncName ->
-                                               (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
-                                                { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdIisSimpleExpression,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _hdIscopes
-                                                            {-# LINE 4836 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _tlOscopes ->
-                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIisMeta
-                                                             {-# LINE 4841 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _tlOisMeta ->
-                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _hdIisInModule
-                                                              {-# LINE 4846 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _tlOisInModule ->
-                                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _hdIglobalDefinitions
-                                                               {-# LINE 4851 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _tlOglobalDefinitions ->
-                                                        (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIconfig
-                                                                {-# LINE 4856 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _tlOconfig ->
-                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _hdIvariableStyle
-                                                                 {-# LINE 4861 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _tlOvariableStyle ->
-                                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIscopeLevel
-                                                                  {-# LINE 4866 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _tlOscopeLevel ->
-                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _hdImtokenPos
-                                                                   {-# LINE 4871 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _tlOmtokenPos ->
-                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIloopLevel
-                                                                    {-# LINE 4876 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _tlOloopLevel ->
-                                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIfuncName
-                                                                     {-# LINE 4881 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _tlOfuncName ->
-                                                              (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
-                                                               { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlIisSimpleExpression,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->
-                                                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _tlIglobalDefinitions
-                                                                           {-# LINE 4888 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _lhsOglobalDefinitions ->
-                                                                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            (const _hdIidentifier _tlIidentifier)
-                                                                            {-# LINE 4893 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _lhsOidentifier ->
-                                                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _tlIisInModule
-                                                                             {-# LINE 4898 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOisInModule ->
-                                                                      (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _hdIisSimpleExpression && _tlIisSimpleExpression
-                                                                              {-# LINE 4903 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOisSimpleExpression ->
-                                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _tlImtokenPos
-                                                                               {-# LINE 4908 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOmtokenPos ->
-                                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _tlIscopes
-                                                                                {-# LINE 4913 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOscopes ->
-                                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _tlIvariableStyle
-                                                                                 {-# LINE 4918 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOvariableStyle ->
-                                                                          (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _hdIwarnings ++ _tlIwarnings
-                                                                                  {-# LINE 4923 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOwarnings ->
-                                                                           ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_ExprSuffixList_Cons_1)) of
-                 { ( sem_ExprSuffixList_1) ->
-                 ( _lhsOcopy,sem_ExprSuffixList_1) }) }) }) }) })
-sem_ExprSuffixList_Nil :: T_ExprSuffixList
-sem_ExprSuffixList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 4934 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 4939 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_ExprSuffixList_Nil_1 :: T_ExprSuffixList_1
-                  sem_ExprSuffixList_Nil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 4956 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 4961 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 4966 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      True
-                                      {-# LINE 4971 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSimpleExpression ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 4976 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 4981 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 4986 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 4991 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_ExprSuffixList_Nil_1)) of
-       { ( sem_ExprSuffixList_1) ->
-       ( _lhsOcopy,sem_ExprSuffixList_1) }) }) })
--- Field -------------------------------------------------------
--- cata
-sem_Field :: Field ->
-             T_Field
-sem_Field (ExprField _key _value _sep) =
-    (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))
-sem_Field (NamedField _key _value _sep) =
-    (sem_Field_NamedField (sem_MToken _key) (sem_MExpr _value) (sem_FieldSep _sep))
-sem_Field (UnnamedField _value _sep) =
-    (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))
--- semantic domain
-type T_Field = ( Field,T_Field_1)
-type T_Field_1 = LintSettings ->
-                 (S.Set Token) ->
-                 String ->
-                 (M.Map String [Region]) ->
-                 Bool ->
-                 Bool ->
-                 Int ->
-                 Region ->
-                 Int ->
-                 ([M.Map String (Bool, Region)]) ->
-                 DeterminedVariableStyle ->
-                 ( (S.Set Token),(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Field = Inh_Field {config_Inh_Field :: LintSettings,fieldNames_Inh_Field :: (S.Set Token),funcName_Inh_Field :: String,globalDefinitions_Inh_Field :: (M.Map String [Region]),isInModule_Inh_Field :: Bool,isMeta_Inh_Field :: Bool,loopLevel_Inh_Field :: Int,mtokenPos_Inh_Field :: Region,scopeLevel_Inh_Field :: Int,scopes_Inh_Field :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Field :: DeterminedVariableStyle}
-data Syn_Field = Syn_Field {copy_Syn_Field :: Field,fieldNames_Syn_Field :: (S.Set Token),globalDefinitions_Syn_Field :: (M.Map String [Region]),identifier_Syn_Field :: String,isInModule_Syn_Field :: Bool,mtokenPos_Syn_Field :: Region,scopes_Syn_Field :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Field :: DeterminedVariableStyle,warnings_Syn_Field :: ([String -> LintMessage])}
-wrap_Field :: T_Field ->
-              Inh_Field ->
-              Syn_Field
-wrap_Field sem (Inh_Field _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_Field _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_Field_ExprField :: T_MExpr ->
-                       T_MExpr ->
-                       T_FieldSep ->
-                       T_Field
-sem_Field_ExprField key_ value_ sep_ =
-    (case (sep_) of
-     { ( _sepIcopy,sep_1) ->
-         (case (value_) of
-          { ( _valueIcopy,_valueImtokenPos,value_1) ->
-              (case (key_) of
-               { ( _keyIcopy,_keyImtokenPos,key_1) ->
-                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                           ExprField _keyIcopy _valueIcopy _sepIcopy
-                           {-# LINE 5044 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                           )) of
-                    { _copy ->
-                    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                            _copy
-                            {-# LINE 5049 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                            )) of
-                     { _lhsOcopy ->
-                     (case ((let sem_Field_ExprField_1 :: T_Field_1
-                                 sem_Field_ExprField_1 =
-                                     (\ _lhsIconfig
-                                        _lhsIfieldNames
-                                        _lhsIfuncName
-                                        _lhsIglobalDefinitions
-                                        _lhsIisInModule
-                                        _lhsIisMeta
-                                        _lhsIloopLevel
-                                        _lhsImtokenPos
-                                        _lhsIscopeLevel
-                                        _lhsIscopes
-                                        _lhsIvariableStyle ->
-                                          (case (({-# LINE 163 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfieldNames
-                                                  {-# LINE 5067 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _lhsOfieldNames ->
-                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIscopes
-                                                   {-# LINE 5072 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _keyOscopes ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisMeta
-                                                    {-# LINE 5077 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _keyOisMeta ->
-                                             (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIconfig
-                                                     {-# LINE 5082 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _keyOconfig ->
-                                              (case (({-# LINE 617 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      Nothing
-                                                      {-# LINE 5087 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _keyOvarBeingDefined ->
-                                               (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIvariableStyle
-                                                       {-# LINE 5092 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _keyOvariableStyle ->
-                                                (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIscopeLevel
-                                                        {-# LINE 5097 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _keyOscopeLevel ->
-                                                 (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsImtokenPos
-                                                         {-# LINE 5102 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _keyOmtokenPos ->
-                                                  (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIloopLevel
-                                                          {-# LINE 5107 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _keyOloopLevel ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lhsIisInModule
-                                                           {-# LINE 5112 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _keyOisInModule ->
-                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _lhsIglobalDefinitions
-                                                            {-# LINE 5117 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _keyOglobalDefinitions ->
-                                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIfuncName
-                                                             {-# LINE 5122 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _keyOfuncName ->
-                                                      (case (({-# LINE 616 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              True
-                                                              {-# LINE 5127 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _keyOtopLevel ->
-                                                       (case (({-# LINE 615 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               True
-                                                               {-# LINE 5132 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _keyOinParentheses ->
-                                                        (case (({-# LINE 614 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                False
-                                                                {-# LINE 5137 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _keyOisNegation ->
-                                                         (case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOinParentheses _keyOisInModule _keyOisMeta _keyOisNegation _keyOloopLevel _keyOmtokenPos _keyOscopeLevel _keyOscopes _keyOtopLevel _keyOvarBeingDefined _keyOvariableStyle) of
-                                                          { ( _keyIglobalDefinitions,_keyIidentifier,_keyIisInModule,_keyIisSimpleExpression,_keyIisSingleVar,_keyIscopes,_keyIvariableStyle,_keyIwarnings) ->
-                                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _keyIscopes
-                                                                      {-# LINE 5144 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _valueOscopes ->
-                                                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIisMeta
-                                                                       {-# LINE 5149 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _valueOisMeta ->
-                                                                (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _keyIisInModule
-                                                                        {-# LINE 5154 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _valueOisInModule ->
-                                                                 (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _keyIglobalDefinitions
-                                                                         {-# LINE 5159 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _valueOglobalDefinitions ->
-                                                                  (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _lhsIconfig
-                                                                          {-# LINE 5164 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _valueOconfig ->
-                                                                   (case (({-# LINE 621 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           Nothing
-                                                                           {-# LINE 5169 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _valueOvarBeingDefined ->
-                                                                    (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            _keyIvariableStyle
-                                                                            {-# LINE 5174 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _valueOvariableStyle ->
-                                                                     (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _lhsIscopeLevel
-                                                                             {-# LINE 5179 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _valueOscopeLevel ->
-                                                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _keyImtokenPos
-                                                                              {-# LINE 5184 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _valueOmtokenPos ->
-                                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _lhsIloopLevel
-                                                                               {-# LINE 5189 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _valueOloopLevel ->
-                                                                        (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _lhsIfuncName
-                                                                                {-# LINE 5194 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _valueOfuncName ->
-                                                                         (case (({-# LINE 620 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 True
-                                                                                 {-# LINE 5199 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _valueOtopLevel ->
-                                                                          (case (({-# LINE 619 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  True
-                                                                                  {-# LINE 5204 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _valueOinParentheses ->
-                                                                           (case (({-# LINE 618 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   False
-                                                                                   {-# LINE 5209 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _valueOisNegation ->
-                                                                            (case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of
-                                                                             { ( _valueIglobalDefinitions,_valueIidentifier,_valueIisInModule,_valueIisSimpleExpression,_valueIisSingleVar,_valueIscopes,_valueIvariableStyle,_valueIwarnings) ->
-                                                                                 (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         _valueIglobalDefinitions
-                                                                                         {-# LINE 5216 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _sepOglobalDefinitions ->
-                                                                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          _valueIvariableStyle
-                                                                                          {-# LINE 5221 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _sepOvariableStyle ->
-                                                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           _valueIscopes
-                                                                                           {-# LINE 5226 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _sepOscopes ->
-                                                                                    (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            _lhsIscopeLevel
-                                                                                            {-# LINE 5231 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _sepOscopeLevel ->
-                                                                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                             _valueImtokenPos
-                                                                                             {-# LINE 5236 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                             )) of
-                                                                                      { _sepOmtokenPos ->
-                                                                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                              _lhsIloopLevel
-                                                                                              {-# LINE 5241 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                              )) of
-                                                                                       { _sepOloopLevel ->
-                                                                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                               _lhsIisMeta
-                                                                                               {-# LINE 5246 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                               )) of
-                                                                                        { _sepOisMeta ->
-                                                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                _valueIisInModule
-                                                                                                {-# LINE 5251 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                )) of
-                                                                                         { _sepOisInModule ->
-                                                                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                 _lhsIfuncName
-                                                                                                 {-# LINE 5256 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                 )) of
-                                                                                          { _sepOfuncName ->
-                                                                                          (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                  _lhsIconfig
-                                                                                                  {-# LINE 5261 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                  )) of
-                                                                                           { _sepOconfig ->
-                                                                                           (case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of
-                                                                                            { ( _sepIglobalDefinitions,_sepIidentifier,_sepIisInModule,_sepImtokenPos,_sepIscopes,_sepIvariableStyle,_sepIwarnings) ->
-                                                                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                        _sepIglobalDefinitions
-                                                                                                        {-# LINE 5268 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                        )) of
-                                                                                                 { _lhsOglobalDefinitions ->
-                                                                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                         (const _keyIidentifier (const _valueIidentifier _sepIidentifier))
-                                                                                                         {-# LINE 5273 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                         )) of
-                                                                                                  { _lhsOidentifier ->
-                                                                                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                          _sepIisInModule
-                                                                                                          {-# LINE 5278 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                          )) of
-                                                                                                   { _lhsOisInModule ->
-                                                                                                   (case (({-# LINE 613 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                           _keyImtokenPos
-                                                                                                           {-# LINE 5283 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                           )) of
-                                                                                                    { _lhsOmtokenPos ->
-                                                                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                            _sepIscopes
-                                                                                                            {-# LINE 5288 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                            )) of
-                                                                                                     { _lhsOscopes ->
-                                                                                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                             _sepIvariableStyle
-                                                                                                             {-# LINE 5293 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                             )) of
-                                                                                                      { _lhsOvariableStyle ->
-                                                                                                      (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                              _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings
-                                                                                                              {-# LINE 5298 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                              )) of
-                                                                                                       { _lhsOwarnings ->
-                                                                                                       ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                             in  sem_Field_ExprField_1)) of
-                      { ( sem_Field_1) ->
-                      ( _lhsOcopy,sem_Field_1) }) }) }) }) }) })
-sem_Field_NamedField :: T_MToken ->
-                        T_MExpr ->
-                        T_FieldSep ->
-                        T_Field
-sem_Field_NamedField key_ value_ sep_ =
-    (case (sep_) of
-     { ( _sepIcopy,sep_1) ->
-         (case (value_) of
-          { ( _valueIcopy,_valueImtokenPos,value_1) ->
-              (case (key_) of
-               { ( _keyIcopy,_keyImtok,_keyImtokenPos,key_1) ->
-                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                           NamedField _keyIcopy _valueIcopy _sepIcopy
-                           {-# LINE 5318 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                           )) of
-                    { _copy ->
-                    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                            _copy
-                            {-# LINE 5323 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                            )) of
-                     { _lhsOcopy ->
-                     (case ((let sem_Field_NamedField_1 :: T_Field_1
-                                 sem_Field_NamedField_1 =
-                                     (\ _lhsIconfig
-                                        _lhsIfieldNames
-                                        _lhsIfuncName
-                                        _lhsIglobalDefinitions
-                                        _lhsIisInModule
-                                        _lhsIisMeta
-                                        _lhsIloopLevel
-                                        _lhsImtokenPos
-                                        _lhsIscopeLevel
-                                        _lhsIscopes
-                                        _lhsIvariableStyle ->
-                                          (case (({-# LINE 624 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  S.insert _keyImtok _lhsIfieldNames
-                                                  {-# LINE 5341 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _lhsOfieldNames ->
-                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIscopes
-                                                   {-# LINE 5346 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _keyOscopes ->
-                                            (case (({-# LINE 623 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _keyImtokenPos
-                                                    {-# LINE 5351 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _mtokenPos ->
-                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _mtokenPos
-                                                     {-# LINE 5356 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _keyOmtokenPos ->
-                                              (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIisMeta
-                                                      {-# LINE 5361 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _keyOisMeta ->
-                                               (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIisInModule
-                                                       {-# LINE 5366 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _keyOisInModule ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIglobalDefinitions
-                                                        {-# LINE 5371 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _keyOglobalDefinitions ->
-                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIfuncName
-                                                         {-# LINE 5376 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _keyOfuncName ->
-                                                  (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIconfig
-                                                          {-# LINE 5381 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _keyOconfig ->
-                                                   (case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOisInModule _keyOisMeta _keyOmtokenPos _keyOscopes) of
-                                                    { ( _keyIglobalDefinitions,_keyIidentifier,_keyIisInModule,_keyIscopes,_keyIwarnings) ->
-                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _keyIscopes
-                                                                {-# LINE 5388 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _valueOscopes ->
-                                                         (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIisMeta
-                                                                 {-# LINE 5393 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _valueOisMeta ->
-                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _keyIisInModule
-                                                                  {-# LINE 5398 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _valueOisInModule ->
-                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _keyIglobalDefinitions
-                                                                   {-# LINE 5403 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _valueOglobalDefinitions ->
-                                                            (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIconfig
-                                                                    {-# LINE 5408 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _valueOconfig ->
-                                                             (case (({-# LINE 625 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     Nothing
-                                                                     {-# LINE 5413 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _valueOvarBeingDefined ->
-                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIvariableStyle
-                                                                      {-# LINE 5418 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _valueOvariableStyle ->
-                                                               (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIscopeLevel
-                                                                       {-# LINE 5423 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _valueOscopeLevel ->
-                                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _mtokenPos
-                                                                        {-# LINE 5428 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _valueOmtokenPos ->
-                                                                 (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIloopLevel
-                                                                         {-# LINE 5433 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _valueOloopLevel ->
-                                                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _lhsIfuncName
-                                                                          {-# LINE 5438 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _valueOfuncName ->
-                                                                   (case (({-# LINE 628 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           True
-                                                                           {-# LINE 5443 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _valueOtopLevel ->
-                                                                    (case (({-# LINE 627 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            True
-                                                                            {-# LINE 5448 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _valueOinParentheses ->
-                                                                     (case (({-# LINE 626 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             False
-                                                                             {-# LINE 5453 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _valueOisNegation ->
-                                                                      (case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of
-                                                                       { ( _valueIglobalDefinitions,_valueIidentifier,_valueIisInModule,_valueIisSimpleExpression,_valueIisSingleVar,_valueIscopes,_valueIvariableStyle,_valueIwarnings) ->
-                                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _valueIglobalDefinitions
-                                                                                   {-# LINE 5460 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _sepOglobalDefinitions ->
-                                                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _valueIvariableStyle
-                                                                                    {-# LINE 5465 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _sepOvariableStyle ->
-                                                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _valueIscopes
-                                                                                     {-# LINE 5470 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _sepOscopes ->
-                                                                              (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _lhsIscopeLevel
-                                                                                      {-# LINE 5475 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _sepOscopeLevel ->
-                                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _mtokenPos
-                                                                                       {-# LINE 5480 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _sepOmtokenPos ->
-                                                                                (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        _lhsIloopLevel
-                                                                                        {-# LINE 5485 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _sepOloopLevel ->
-                                                                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         _lhsIisMeta
-                                                                                         {-# LINE 5490 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _sepOisMeta ->
-                                                                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          _valueIisInModule
-                                                                                          {-# LINE 5495 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _sepOisInModule ->
-                                                                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           _lhsIfuncName
-                                                                                           {-# LINE 5500 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _sepOfuncName ->
-                                                                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            _lhsIconfig
-                                                                                            {-# LINE 5505 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _sepOconfig ->
-                                                                                     (case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of
-                                                                                      { ( _sepIglobalDefinitions,_sepIidentifier,_sepIisInModule,_sepImtokenPos,_sepIscopes,_sepIvariableStyle,_sepIwarnings) ->
-                                                                                          (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                  _sepIglobalDefinitions
-                                                                                                  {-# LINE 5512 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                  )) of
-                                                                                           { _lhsOglobalDefinitions ->
-                                                                                           (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                   (const _keyIidentifier (const _valueIidentifier _sepIidentifier))
-                                                                                                   {-# LINE 5517 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                   )) of
-                                                                                            { _lhsOidentifier ->
-                                                                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                    _sepIisInModule
-                                                                                                    {-# LINE 5522 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                    )) of
-                                                                                             { _lhsOisInModule ->
-                                                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                     _mtokenPos
-                                                                                                     {-# LINE 5527 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                     )) of
-                                                                                              { _lhsOmtokenPos ->
-                                                                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                      _sepIscopes
-                                                                                                      {-# LINE 5532 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                      )) of
-                                                                                               { _lhsOscopes ->
-                                                                                               (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                       _sepIvariableStyle
-                                                                                                       {-# LINE 5537 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                       )) of
-                                                                                                { _lhsOvariableStyle ->
-                                                                                                (case (({-# LINE 629 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                        _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings
-                                                                                                        {-# LINE 5542 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                        )) of
-                                                                                                 { _warnings_augmented_syn ->
-                                                                                                 (case (({-# LINE 629 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                         if not (lint_duplicateTableKeys _lhsIconfig) || not (S.member _keyImtok _lhsIfieldNames) then id else
-                                                                                                           (:) $ warn _keyImtokenPos $ DuplicateKeyInTable _keyImtok
-                                                                                                         {-# LINE 5548 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                         )) of
-                                                                                                  { _warnings_augmented_f1 ->
-                                                                                                  (case (({-# LINE 629 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                          foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                                          {-# LINE 5553 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                          )) of
-                                                                                                   { _lhsOwarnings ->
-                                                                                                   ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                             in  sem_Field_NamedField_1)) of
-                      { ( sem_Field_1) ->
-                      ( _lhsOcopy,sem_Field_1) }) }) }) }) }) })
-sem_Field_UnnamedField :: T_MExpr ->
-                          T_FieldSep ->
-                          T_Field
-sem_Field_UnnamedField value_ sep_ =
-    (case (sep_) of
-     { ( _sepIcopy,sep_1) ->
-         (case (value_) of
-          { ( _valueIcopy,_valueImtokenPos,value_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      UnnamedField _valueIcopy _sepIcopy
-                      {-# LINE 5570 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 5575 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Field_UnnamedField_1 :: T_Field_1
-                            sem_Field_UnnamedField_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfieldNames
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 163 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfieldNames
-                                             {-# LINE 5593 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _lhsOfieldNames ->
-                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopes
-                                              {-# LINE 5598 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _valueOscopes ->
-                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisMeta
-                                               {-# LINE 5603 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _valueOisMeta ->
-                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIisInModule
-                                                {-# LINE 5608 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _valueOisInModule ->
-                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIglobalDefinitions
-                                                 {-# LINE 5613 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _valueOglobalDefinitions ->
-                                          (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIconfig
-                                                  {-# LINE 5618 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _valueOconfig ->
-                                           (case (({-# LINE 635 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   Nothing
-                                                   {-# LINE 5623 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _valueOvarBeingDefined ->
-                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIvariableStyle
-                                                    {-# LINE 5628 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _valueOvariableStyle ->
-                                             (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIscopeLevel
-                                                     {-# LINE 5633 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _valueOscopeLevel ->
-                                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsImtokenPos
-                                                      {-# LINE 5638 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _valueOmtokenPos ->
-                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIloopLevel
-                                                       {-# LINE 5643 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _valueOloopLevel ->
-                                                (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIfuncName
-                                                        {-# LINE 5648 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _valueOfuncName ->
-                                                 (case (({-# LINE 634 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         True
-                                                         {-# LINE 5653 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _valueOtopLevel ->
-                                                  (case (({-# LINE 633 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          True
-                                                          {-# LINE 5658 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _valueOinParentheses ->
-                                                   (case (({-# LINE 632 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           False
-                                                           {-# LINE 5663 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _valueOisNegation ->
-                                                    (case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of
-                                                     { ( _valueIglobalDefinitions,_valueIidentifier,_valueIisInModule,_valueIisSimpleExpression,_valueIisSingleVar,_valueIscopes,_valueIvariableStyle,_valueIwarnings) ->
-                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _valueIglobalDefinitions
-                                                                 {-# LINE 5670 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _sepOglobalDefinitions ->
-                                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _valueIvariableStyle
-                                                                  {-# LINE 5675 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _sepOvariableStyle ->
-                                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _valueIscopes
-                                                                   {-# LINE 5680 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _sepOscopes ->
-                                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIscopeLevel
-                                                                    {-# LINE 5685 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _sepOscopeLevel ->
-                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _valueImtokenPos
-                                                                     {-# LINE 5690 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _sepOmtokenPos ->
-                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIloopLevel
-                                                                      {-# LINE 5695 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _sepOloopLevel ->
-                                                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIisMeta
-                                                                       {-# LINE 5700 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _sepOisMeta ->
-                                                                (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _valueIisInModule
-                                                                        {-# LINE 5705 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _sepOisInModule ->
-                                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIfuncName
-                                                                         {-# LINE 5710 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _sepOfuncName ->
-                                                                  (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _lhsIconfig
-                                                                          {-# LINE 5715 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _sepOconfig ->
-                                                                   (case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of
-                                                                    { ( _sepIglobalDefinitions,_sepIidentifier,_sepIisInModule,_sepImtokenPos,_sepIscopes,_sepIvariableStyle,_sepIwarnings) ->
-                                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _sepIglobalDefinitions
-                                                                                {-# LINE 5722 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOglobalDefinitions ->
-                                                                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 (const _valueIidentifier _sepIidentifier)
-                                                                                 {-# LINE 5727 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOidentifier ->
-                                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _sepIisInModule
-                                                                                  {-# LINE 5732 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisInModule ->
-                                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _sepImtokenPos
-                                                                                   {-# LINE 5737 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOmtokenPos ->
-                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _sepIscopes
-                                                                                    {-# LINE 5742 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOscopes ->
-                                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _sepIvariableStyle
-                                                                                     {-# LINE 5747 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOvariableStyle ->
-                                                                              (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _valueIwarnings ++ _sepIwarnings
-                                                                                      {-# LINE 5752 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOwarnings ->
-                                                                               ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Field_UnnamedField_1)) of
-                 { ( sem_Field_1) ->
-                 ( _lhsOcopy,sem_Field_1) }) }) }) }) })
--- FieldList ---------------------------------------------------
--- cata
-sem_FieldList :: FieldList ->
-                 T_FieldList
-sem_FieldList list =
-    (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))
--- semantic domain
-type T_FieldList = ( FieldList,T_FieldList_1)
-type T_FieldList_1 = LintSettings ->
-                     (S.Set Token) ->
-                     String ->
-                     (M.Map String [Region]) ->
-                     Bool ->
-                     Bool ->
-                     Int ->
-                     Region ->
-                     Int ->
-                     ([M.Map String (Bool, Region)]) ->
-                     DeterminedVariableStyle ->
-                     ( (S.Set Token),(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_FieldList = Inh_FieldList {config_Inh_FieldList :: LintSettings,fieldNames_Inh_FieldList :: (S.Set Token),funcName_Inh_FieldList :: String,globalDefinitions_Inh_FieldList :: (M.Map String [Region]),isInModule_Inh_FieldList :: Bool,isMeta_Inh_FieldList :: Bool,loopLevel_Inh_FieldList :: Int,mtokenPos_Inh_FieldList :: Region,scopeLevel_Inh_FieldList :: Int,scopes_Inh_FieldList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_FieldList :: DeterminedVariableStyle}
-data Syn_FieldList = Syn_FieldList {copy_Syn_FieldList :: FieldList,fieldNames_Syn_FieldList :: (S.Set Token),globalDefinitions_Syn_FieldList :: (M.Map String [Region]),identifier_Syn_FieldList :: String,isInModule_Syn_FieldList :: Bool,mtokenPos_Syn_FieldList :: Region,scopes_Syn_FieldList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_FieldList :: DeterminedVariableStyle,warnings_Syn_FieldList :: ([String -> LintMessage])}
-wrap_FieldList :: T_FieldList ->
-                  Inh_FieldList ->
-                  Syn_FieldList
-wrap_FieldList sem (Inh_FieldList _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_FieldList _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_FieldList_Cons :: T_Field ->
-                      T_FieldList ->
-                      T_FieldList
-sem_FieldList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,tl_1) ->
-         (case (hd_) of
-          { ( _hdIcopy,hd_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 5798 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 5803 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_FieldList_Cons_1 :: T_FieldList_1
-                            sem_FieldList_Cons_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfieldNames
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 163 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfieldNames
-                                             {-# LINE 5821 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _hdOfieldNames ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 5826 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _hdOvariableStyle ->
-                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopes
-                                               {-# LINE 5831 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _hdOscopes ->
-                                        (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopeLevel
-                                                {-# LINE 5836 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _hdOscopeLevel ->
-                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsImtokenPos
-                                                 {-# LINE 5841 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _hdOmtokenPos ->
-                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIloopLevel
-                                                  {-# LINE 5846 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _hdOloopLevel ->
-                                           (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIisMeta
-                                                   {-# LINE 5851 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _hdOisMeta ->
-                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisInModule
-                                                    {-# LINE 5856 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _hdOisInModule ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 5861 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _hdOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 5866 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _hdOfuncName ->
-                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIconfig
-                                                       {-# LINE 5871 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _hdOconfig ->
-                                                (case (hd_1 _hdOconfig _hdOfieldNames _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
-                                                 { ( _hdIfieldNames,_hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->
-                                                     (case (({-# LINE 163 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _hdIfieldNames
-                                                             {-# LINE 5878 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _tlOfieldNames ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _hdIvariableStyle
-                                                              {-# LINE 5883 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _tlOvariableStyle ->
-                                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _hdIscopes
-                                                               {-# LINE 5888 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _tlOscopes ->
-                                                        (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIscopeLevel
-                                                                {-# LINE 5893 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _tlOscopeLevel ->
-                                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _hdImtokenPos
-                                                                 {-# LINE 5898 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _tlOmtokenPos ->
-                                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIloopLevel
-                                                                  {-# LINE 5903 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _tlOloopLevel ->
-                                                           (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIisMeta
-                                                                   {-# LINE 5908 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _tlOisMeta ->
-                                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _hdIisInModule
-                                                                    {-# LINE 5913 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _tlOisInModule ->
-                                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _hdIglobalDefinitions
-                                                                     {-# LINE 5918 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _tlOglobalDefinitions ->
-                                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIfuncName
-                                                                      {-# LINE 5923 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _tlOfuncName ->
-                                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIconfig
-                                                                       {-# LINE 5928 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _tlOconfig ->
-                                                                (case (tl_1 _tlOconfig _tlOfieldNames _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
-                                                                 { ( _tlIfieldNames,_tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->
-                                                                     (case (({-# LINE 163 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _tlIfieldNames
-                                                                             {-# LINE 5935 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOfieldNames ->
-                                                                      (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _tlIglobalDefinitions
-                                                                              {-# LINE 5940 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOglobalDefinitions ->
-                                                                       (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               (const _hdIidentifier _tlIidentifier)
-                                                                               {-# LINE 5945 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOidentifier ->
-                                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _tlIisInModule
-                                                                                {-# LINE 5950 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOisInModule ->
-                                                                         (case (({-# LINE 234 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _hdImtokenPos
-                                                                                 {-# LINE 5955 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOmtokenPos ->
-                                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _tlIscopes
-                                                                                  {-# LINE 5960 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOscopes ->
-                                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _tlIvariableStyle
-                                                                                   {-# LINE 5965 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOvariableStyle ->
-                                                                            (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _hdIwarnings ++ _tlIwarnings
-                                                                                    {-# LINE 5970 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOwarnings ->
-                                                                             ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_FieldList_Cons_1)) of
-                 { ( sem_FieldList_1) ->
-                 ( _lhsOcopy,sem_FieldList_1) }) }) }) }) })
-sem_FieldList_Nil :: T_FieldList
-sem_FieldList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 5981 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 5986 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_FieldList_Nil_1 :: T_FieldList_1
-                  sem_FieldList_Nil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfieldNames
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 163 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIfieldNames
-                                   {-# LINE 6004 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOfieldNames ->
-                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    _lhsIglobalDefinitions
-                                    {-# LINE 6009 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOglobalDefinitions ->
-                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     unknownIdentifier
-                                     {-# LINE 6014 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOidentifier ->
-                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsIisInModule
-                                      {-# LINE 6019 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisInModule ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 6024 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 6029 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 6034 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 6039 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_FieldList_Nil_1)) of
-       { ( sem_FieldList_1) ->
-       ( _lhsOcopy,sem_FieldList_1) }) }) })
--- FieldSep ----------------------------------------------------
--- cata
-sem_FieldSep :: FieldSep ->
-                T_FieldSep
-sem_FieldSep (CommaSep) =
-    (sem_FieldSep_CommaSep)
-sem_FieldSep (SemicolonSep) =
-    (sem_FieldSep_SemicolonSep)
-sem_FieldSep (NoSep) =
-    (sem_FieldSep_NoSep)
--- semantic domain
-type T_FieldSep = ( FieldSep,T_FieldSep_1)
-type T_FieldSep_1 = LintSettings ->
-                    String ->
-                    (M.Map String [Region]) ->
-                    Bool ->
-                    Bool ->
-                    Int ->
-                    Region ->
-                    Int ->
-                    ([M.Map String (Bool, Region)]) ->
-                    DeterminedVariableStyle ->
-                    ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_FieldSep = Inh_FieldSep {config_Inh_FieldSep :: LintSettings,funcName_Inh_FieldSep :: String,globalDefinitions_Inh_FieldSep :: (M.Map String [Region]),isInModule_Inh_FieldSep :: Bool,isMeta_Inh_FieldSep :: Bool,loopLevel_Inh_FieldSep :: Int,mtokenPos_Inh_FieldSep :: Region,scopeLevel_Inh_FieldSep :: Int,scopes_Inh_FieldSep :: ([M.Map String (Bool, Region)]),variableStyle_Inh_FieldSep :: DeterminedVariableStyle}
-data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep,globalDefinitions_Syn_FieldSep :: (M.Map String [Region]),identifier_Syn_FieldSep :: String,isInModule_Syn_FieldSep :: Bool,mtokenPos_Syn_FieldSep :: Region,scopes_Syn_FieldSep :: ([M.Map String (Bool, Region)]),variableStyle_Syn_FieldSep :: DeterminedVariableStyle,warnings_Syn_FieldSep :: ([String -> LintMessage])}
-wrap_FieldSep :: T_FieldSep ->
-                 Inh_FieldSep ->
-                 Syn_FieldSep
-wrap_FieldSep sem (Inh_FieldSep _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_FieldSep _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_FieldSep_CommaSep :: T_FieldSep
-sem_FieldSep_CommaSep =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            CommaSep
-            {-# LINE 6082 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 6087 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_FieldSep_CommaSep_1 :: T_FieldSep_1
-                  sem_FieldSep_CommaSep_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 6104 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 6109 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 6114 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 6119 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 6124 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 6129 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 6134 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_FieldSep_CommaSep_1)) of
-       { ( sem_FieldSep_1) ->
-       ( _lhsOcopy,sem_FieldSep_1) }) }) })
-sem_FieldSep_SemicolonSep :: T_FieldSep
-sem_FieldSep_SemicolonSep =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            SemicolonSep
-            {-# LINE 6145 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 6150 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_FieldSep_SemicolonSep_1 :: T_FieldSep_1
-                  sem_FieldSep_SemicolonSep_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 6167 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 6172 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 6177 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 6182 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 6187 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 6192 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 6197 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_FieldSep_SemicolonSep_1)) of
-       { ( sem_FieldSep_1) ->
-       ( _lhsOcopy,sem_FieldSep_1) }) }) })
-sem_FieldSep_NoSep :: T_FieldSep
-sem_FieldSep_NoSep =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            NoSep
-            {-# LINE 6208 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 6213 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_FieldSep_NoSep_1 :: T_FieldSep_1
-                  sem_FieldSep_NoSep_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 6230 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 6235 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 6240 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 6245 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 6250 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 6255 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 6260 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_FieldSep_NoSep_1)) of
-       { ( sem_FieldSep_1) ->
-       ( _lhsOcopy,sem_FieldSep_1) }) }) })
--- FuncName ----------------------------------------------------
--- cata
-sem_FuncName :: FuncName ->
-                T_FuncName
-sem_FuncName (FuncName _names _meta) =
-    (sem_FuncName_FuncName _names _meta)
--- semantic domain
-type T_FuncName = ( FuncName,Bool,T_FuncName_1)
-type T_FuncName_1 = LintSettings ->
-                    String ->
-                    (M.Map String [Region]) ->
-                    Bool ->
-                    Bool ->
-                    Int ->
-                    Region ->
-                    Int ->
-                    ([M.Map String (Bool, Region)]) ->
-                    DeterminedVariableStyle ->
-                    ( (M.Map String [Region]),Bool,String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_FuncName = Inh_FuncName {config_Inh_FuncName :: LintSettings,funcName_Inh_FuncName :: String,globalDefinitions_Inh_FuncName :: (M.Map String [Region]),isInModule_Inh_FuncName :: Bool,isMeta_Inh_FuncName :: Bool,loopLevel_Inh_FuncName :: Int,mtokenPos_Inh_FuncName :: Region,scopeLevel_Inh_FuncName :: Int,scopes_Inh_FuncName :: ([M.Map String (Bool, Region)]),variableStyle_Inh_FuncName :: DeterminedVariableStyle}
-data Syn_FuncName = Syn_FuncName {copy_Syn_FuncName :: FuncName,globalDefinitions_Syn_FuncName :: (M.Map String [Region]),hasSuffixes_Syn_FuncName :: Bool,identifier_Syn_FuncName :: String,isInModule_Syn_FuncName :: Bool,isMeta_Syn_FuncName :: Bool,mtokenPos_Syn_FuncName :: Region,scopes_Syn_FuncName :: ([M.Map String (Bool, Region)]),variableStyle_Syn_FuncName :: DeterminedVariableStyle,warnings_Syn_FuncName :: ([String -> LintMessage])}
-wrap_FuncName :: T_FuncName ->
-                 Inh_FuncName ->
-                 Syn_FuncName
-wrap_FuncName sem (Inh_FuncName _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,_lhsOisMeta,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOhasSuffixes,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_FuncName _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisMeta _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_FuncName_FuncName :: ([MToken]) ->
-                         (Maybe MToken) ->
-                         T_FuncName
-sem_FuncName_FuncName names_ meta_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            FuncName names_ meta_
-            {-# LINE 6301 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 6306 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 501 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              isJust meta_
-              {-# LINE 6311 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOisMeta ->
-       (case ((let sem_FuncName_FuncName_1 :: T_FuncName_1
-                   sem_FuncName_FuncName_1 =
-                       (\ _lhsIconfig
-                          _lhsIfuncName
-                          _lhsIglobalDefinitions
-                          _lhsIisInModule
-                          _lhsIisMeta
-                          _lhsIloopLevel
-                          _lhsImtokenPos
-                          _lhsIscopeLevel
-                          _lhsIscopes
-                          _lhsIvariableStyle ->
-                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    _lhsIglobalDefinitions
-                                    {-# LINE 6328 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOglobalDefinitions ->
-                             (case (({-# LINE 502 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     length names_ > 1
-                                     {-# LINE 6333 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOhasSuffixes ->
-                              (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      tokenLabel . head $ names_
-                                      {-# LINE 6338 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOidentifier ->
-                               (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIisInModule
-                                       {-# LINE 6343 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOisInModule ->
-                                (case (({-# LINE 499 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        mpos (head names_)
-                                        {-# LINE 6348 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOmtokenPos ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 6353 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOscopes ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 6358 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 6363 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOhasSuffixes,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-               in  sem_FuncName_FuncName_1)) of
-        { ( sem_FuncName_1) ->
-        ( _lhsOcopy,_lhsOisMeta,sem_FuncName_1) }) }) }) })
--- MElse -------------------------------------------------------
--- cata
-sem_MElse :: MElse ->
-             T_MElse
-sem_MElse (MElse _pos _body) =
-    (sem_MElse_MElse (sem_Region _pos) (sem_Block _body))
--- semantic domain
-type T_MElse = ( MElse,T_MElse_1)
-type T_MElse_1 = LintSettings ->
-                 String ->
-                 (M.Map String [Region]) ->
-                 Bool ->
-                 Bool ->
-                 Int ->
-                 Region ->
-                 Int ->
-                 ([M.Map String (Bool, Region)]) ->
-                 DeterminedVariableStyle ->
-                 ( Bool,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MElse = Inh_MElse {config_Inh_MElse :: LintSettings,funcName_Inh_MElse :: String,globalDefinitions_Inh_MElse :: (M.Map String [Region]),isInModule_Inh_MElse :: Bool,isMeta_Inh_MElse :: Bool,loopLevel_Inh_MElse :: Int,mtokenPos_Inh_MElse :: Region,scopeLevel_Inh_MElse :: Int,scopes_Inh_MElse :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MElse :: DeterminedVariableStyle}
-data Syn_MElse = Syn_MElse {copy_Syn_MElse :: MElse,elseExists_Syn_MElse :: Bool,globalDefinitions_Syn_MElse :: (M.Map String [Region]),identifier_Syn_MElse :: String,isInModule_Syn_MElse :: Bool,mtokenPos_Syn_MElse :: Region,scopes_Syn_MElse :: ([M.Map String (Bool, Region)]),statementCount_Syn_MElse :: Int,variableStyle_Syn_MElse :: DeterminedVariableStyle,warnings_Syn_MElse :: ([String -> LintMessage])}
-wrap_MElse :: T_MElse ->
-              Inh_MElse ->
-              Syn_MElse
-wrap_MElse sem (Inh_MElse _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_MElse _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))
-sem_MElse_MElse :: T_Region ->
-                   T_Block ->
-                   T_MElse
-sem_MElse_MElse pos_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (pos_) of
-          { ( _posIcopy,_posIidentifier,_posIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      MElse _posIcopy _bodyIcopy
-                      {-# LINE 6408 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 6413 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_MElse_MElse_1 :: T_MElse_1
-                            sem_MElse_MElse_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 202 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             False
-                                             {-# LINE 6430 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _lhsOelseExists ->
-                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopes
-                                              {-# LINE 6435 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _bodyOscopes ->
-                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisMeta
-                                               {-# LINE 6440 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _bodyOisMeta ->
-                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIisInModule
-                                                {-# LINE 6445 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _bodyOisInModule ->
-                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIglobalDefinitions
-                                                 {-# LINE 6450 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _bodyOglobalDefinitions ->
-                                          (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIconfig
-                                                  {-# LINE 6455 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _bodyOconfig ->
-                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIvariableStyle
-                                                   {-# LINE 6460 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _bodyOvariableStyle ->
-                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIscopeLevel
-                                                    {-# LINE 6465 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _bodyOscopeLevel ->
-                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsImtokenPos
-                                                     {-# LINE 6470 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _bodyOmtokenPos ->
-                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIloopLevel
-                                                      {-# LINE 6475 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _bodyOloopLevel ->
-                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIfuncName
-                                                       {-# LINE 6480 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _bodyOfuncName ->
-                                                (case (({-# LINE 479 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        False
-                                                        {-# LINE 6485 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _bodyOisRepeat ->
-                                                 (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                  { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                      (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _bodyIglobalDefinitions
-                                                              {-# LINE 6492 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOglobalDefinitions ->
-                                                       (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               (const _posIidentifier _bodyIidentifier)
-                                                               {-# LINE 6497 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOidentifier ->
-                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _bodyIisInModule
-                                                                {-# LINE 6502 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOisInModule ->
-                                                         (case (({-# LINE 480 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _posIcopy
-                                                                 {-# LINE 6507 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOmtokenPos ->
-                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _bodyIscopes
-                                                                  {-# LINE 6512 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOscopes ->
-                                                           (case (({-# LINE 157 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _bodyIstatementCount
-                                                                   {-# LINE 6517 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _lhsOstatementCount ->
-                                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _bodyIvariableStyle
-                                                                    {-# LINE 6522 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOvariableStyle ->
-                                                             (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _posIwarnings ++ _bodyIwarnings
-                                                                     {-# LINE 6527 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _lhsOwarnings ->
-                                                              ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_MElse_MElse_1)) of
-                 { ( sem_MElse_1) ->
-                 ( _lhsOcopy,sem_MElse_1) }) }) }) }) })
--- MElseIf -----------------------------------------------------
--- cata
-sem_MElseIf :: MElseIf ->
-               T_MElseIf
-sem_MElseIf (MElseIf _pos _elif) =
-    (sem_MElseIf_MElseIf (sem_Region _pos) (sem_ElseIf _elif))
--- semantic domain
-type T_MElseIf = ( MElseIf,T_MElseIf_1)
-type T_MElseIf_1 = LintSettings ->
-                   String ->
-                   (M.Map String [Region]) ->
-                   Bool ->
-                   Bool ->
-                   Int ->
-                   Region ->
-                   Int ->
-                   ([M.Map String (Bool, Region)]) ->
-                   DeterminedVariableStyle ->
-                   ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MElseIf = Inh_MElseIf {config_Inh_MElseIf :: LintSettings,funcName_Inh_MElseIf :: String,globalDefinitions_Inh_MElseIf :: (M.Map String [Region]),isInModule_Inh_MElseIf :: Bool,isMeta_Inh_MElseIf :: Bool,loopLevel_Inh_MElseIf :: Int,mtokenPos_Inh_MElseIf :: Region,scopeLevel_Inh_MElseIf :: Int,scopes_Inh_MElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MElseIf :: DeterminedVariableStyle}
-data Syn_MElseIf = Syn_MElseIf {copy_Syn_MElseIf :: MElseIf,globalDefinitions_Syn_MElseIf :: (M.Map String [Region]),identifier_Syn_MElseIf :: String,isInModule_Syn_MElseIf :: Bool,mtokenPos_Syn_MElseIf :: Region,scopes_Syn_MElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MElseIf :: DeterminedVariableStyle,warnings_Syn_MElseIf :: ([String -> LintMessage])}
-wrap_MElseIf :: T_MElseIf ->
-                Inh_MElseIf ->
-                Syn_MElseIf
-wrap_MElseIf sem (Inh_MElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_MElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_MElseIf_MElseIf :: T_Region ->
-                       T_ElseIf ->
-                       T_MElseIf
-sem_MElseIf_MElseIf pos_ elif_ =
-    (case (elif_) of
-     { ( _elifIcopy,elif_1) ->
-         (case (pos_) of
-          { ( _posIcopy,_posIidentifier,_posIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      MElseIf _posIcopy _elifIcopy
-                      {-# LINE 6572 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 6577 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_MElseIf_MElseIf_1 :: T_MElseIf_1
-                            sem_MElseIf_MElseIf_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 6594 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _elifOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 6599 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _elifOisMeta ->
-                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisInModule
-                                               {-# LINE 6604 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _elifOisInModule ->
-                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIglobalDefinitions
-                                                {-# LINE 6609 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _elifOglobalDefinitions ->
-                                         (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIconfig
-                                                 {-# LINE 6614 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _elifOconfig ->
-                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIvariableStyle
-                                                  {-# LINE 6619 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _elifOvariableStyle ->
-                                           (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIscopeLevel
-                                                   {-# LINE 6624 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _elifOscopeLevel ->
-                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIloopLevel
-                                                    {-# LINE 6629 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _elifOloopLevel ->
-                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIfuncName
-                                                     {-# LINE 6634 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _elifOfuncName ->
-                                              (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _posIcopy
-                                                      {-# LINE 6639 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _elifOmtokenPos ->
-                                               (case (elif_1 _elifOconfig _elifOfuncName _elifOglobalDefinitions _elifOisInModule _elifOisMeta _elifOloopLevel _elifOmtokenPos _elifOscopeLevel _elifOscopes _elifOvariableStyle) of
-                                                { ( _elifIglobalDefinitions,_elifIidentifier,_elifIisInModule,_elifImtokenPos,_elifIscopes,_elifIvariableStyle,_elifIwarnings) ->
-                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _elifIglobalDefinitions
-                                                            {-# LINE 6646 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOglobalDefinitions ->
-                                                     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             (const _posIidentifier _elifIidentifier)
-                                                             {-# LINE 6651 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOidentifier ->
-                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _elifIisInModule
-                                                              {-# LINE 6656 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOisInModule ->
-                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _elifImtokenPos
-                                                               {-# LINE 6661 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOmtokenPos ->
-                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _elifIscopes
-                                                                {-# LINE 6666 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOscopes ->
-                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _elifIvariableStyle
-                                                                 {-# LINE 6671 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOvariableStyle ->
-                                                          (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _posIwarnings ++ _elifIwarnings
-                                                                  {-# LINE 6676 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOwarnings ->
-                                                           ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_MElseIf_MElseIf_1)) of
-                 { ( sem_MElseIf_1) ->
-                 ( _lhsOcopy,sem_MElseIf_1) }) }) }) }) })
--- MExpr -------------------------------------------------------
--- cata
-sem_MExpr :: MExpr ->
-             T_MExpr
-sem_MExpr (MExpr _pos _expr) =
-    (sem_MExpr_MExpr (sem_Region _pos) (sem_Expr _expr))
--- semantic domain
-type T_MExpr = ( MExpr,Region,T_MExpr_1)
-type T_MExpr_1 = LintSettings ->
-                 String ->
-                 (M.Map String [Region]) ->
-                 Bool ->
-                 Bool ->
-                 Bool ->
-                 Bool ->
-                 Int ->
-                 Region ->
-                 Int ->
-                 ([M.Map String (Bool, Region)]) ->
-                 Bool ->
-                 (Maybe MToken) ->
-                 DeterminedVariableStyle ->
-                 ( (M.Map String [Region]),String,Bool,Bool,(Maybe MToken),([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MExpr = Inh_MExpr {config_Inh_MExpr :: LintSettings,funcName_Inh_MExpr :: String,globalDefinitions_Inh_MExpr :: (M.Map String [Region]),inParentheses_Inh_MExpr :: Bool,isInModule_Inh_MExpr :: Bool,isMeta_Inh_MExpr :: Bool,isNegation_Inh_MExpr :: Bool,loopLevel_Inh_MExpr :: Int,mtokenPos_Inh_MExpr :: Region,scopeLevel_Inh_MExpr :: Int,scopes_Inh_MExpr :: ([M.Map String (Bool, Region)]),topLevel_Inh_MExpr :: Bool,varBeingDefined_Inh_MExpr :: (Maybe MToken),variableStyle_Inh_MExpr :: DeterminedVariableStyle}
-data Syn_MExpr = Syn_MExpr {copy_Syn_MExpr :: MExpr,globalDefinitions_Syn_MExpr :: (M.Map String [Region]),identifier_Syn_MExpr :: String,isInModule_Syn_MExpr :: Bool,isSimpleExpression_Syn_MExpr :: Bool,isSingleVar_Syn_MExpr :: (Maybe MToken),mtokenPos_Syn_MExpr :: Region,scopes_Syn_MExpr :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MExpr :: DeterminedVariableStyle,warnings_Syn_MExpr :: ([String -> LintMessage])}
-wrap_MExpr :: T_MExpr ->
-              Inh_MExpr ->
-              Syn_MExpr
-wrap_MExpr sem (Inh_MExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =
-    (let ( _lhsOcopy,_lhsOmtokenPos,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle
-     in  (Syn_MExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_MExpr_MExpr :: T_Region ->
-                   T_Expr ->
-                   T_MExpr
-sem_MExpr_MExpr pos_ expr_ =
-    (case (expr_) of
-     { ( _exprIcopy,expr_1) ->
-         (case (pos_) of
-          { ( _posIcopy,_posIidentifier,_posIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      MExpr _posIcopy _exprIcopy
-                      {-# LINE 6725 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 6730 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case (({-# LINE 557 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        _posIcopy
-                        {-# LINE 6735 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _lhsOmtokenPos ->
-                 (case ((let sem_MExpr_MExpr_1 :: T_MExpr_1
-                             sem_MExpr_MExpr_1 =
-                                 (\ _lhsIconfig
-                                    _lhsIfuncName
-                                    _lhsIglobalDefinitions
-                                    _lhsIinParentheses
-                                    _lhsIisInModule
-                                    _lhsIisMeta
-                                    _lhsIisNegation
-                                    _lhsIloopLevel
-                                    _lhsImtokenPos
-                                    _lhsIscopeLevel
-                                    _lhsIscopes
-                                    _lhsItopLevel
-                                    _lhsIvarBeingDefined
-                                    _lhsIvariableStyle ->
-                                      (case (({-# LINE 178 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvarBeingDefined
-                                              {-# LINE 6756 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _exprOvarBeingDefined ->
-                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopes
-                                               {-# LINE 6761 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _exprOscopes ->
-                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIisMeta
-                                                {-# LINE 6766 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _exprOisMeta ->
-                                         (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIisInModule
-                                                 {-# LINE 6771 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _exprOisInModule ->
-                                          (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIglobalDefinitions
-                                                  {-# LINE 6776 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _exprOglobalDefinitions ->
-                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIconfig
-                                                   {-# LINE 6781 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _exprOconfig ->
-                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIvariableStyle
-                                                    {-# LINE 6786 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _exprOvariableStyle ->
-                                             (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsItopLevel
-                                                     {-# LINE 6791 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _exprOtopLevel ->
-                                              (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIscopeLevel
-                                                      {-# LINE 6796 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _exprOscopeLevel ->
-                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIloopLevel
-                                                       {-# LINE 6801 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _exprOloopLevel ->
-                                                (case (({-# LINE 169 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIisNegation
-                                                        {-# LINE 6806 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _exprOisNegation ->
-                                                 (case (({-# LINE 181 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIinParentheses
-                                                         {-# LINE 6811 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _exprOinParentheses ->
-                                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIfuncName
-                                                          {-# LINE 6816 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _exprOfuncName ->
-                                                   (case (({-# LINE 558 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _posIcopy
-                                                           {-# LINE 6821 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _exprOmtokenPos ->
-                                                    (case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of
-                                                     { ( _exprIglobalDefinitions,_exprIidentifier,_exprIisInModule,_exprIisSimpleExpression,_exprIisSingleVar,_exprImtokenPos,_exprIscopes,_exprIvariableStyle,_exprIwarnings) ->
-                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _exprIglobalDefinitions
-                                                                 {-# LINE 6828 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOglobalDefinitions ->
-                                                          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  (const _posIidentifier _exprIidentifier)
-                                                                  {-# LINE 6833 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOidentifier ->
-                                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _exprIisInModule
-                                                                   {-# LINE 6838 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _lhsOisInModule ->
-                                                            (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _exprIisSimpleExpression
-                                                                    {-# LINE 6843 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOisSimpleExpression ->
-                                                             (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _exprIisSingleVar
-                                                                     {-# LINE 6848 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _lhsOisSingleVar ->
-                                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _exprIscopes
-                                                                      {-# LINE 6853 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _lhsOscopes ->
-                                                               (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _exprIvariableStyle
-                                                                       {-# LINE 6858 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _lhsOvariableStyle ->
-                                                                (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _posIwarnings ++ _exprIwarnings
-                                                                        {-# LINE 6863 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _lhsOwarnings ->
-                                                                 ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                         in  sem_MExpr_MExpr_1)) of
-                  { ( sem_MExpr_1) ->
-                  ( _lhsOcopy,_lhsOmtokenPos,sem_MExpr_1) }) }) }) }) }) })
--- MExprList ---------------------------------------------------
--- cata
-sem_MExprList :: MExprList ->
-                 T_MExprList
-sem_MExprList list =
-    (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))
--- semantic domain
-type T_MExprList = ( MExprList,T_MExprList_1)
-type T_MExprList_1 = LintSettings ->
-                     String ->
-                     (M.Map String [Region]) ->
-                     Bool ->
-                     Bool ->
-                     Bool ->
-                     Int ->
-                     Region ->
-                     Int ->
-                     ([M.Map String (Bool, Region)]) ->
-                     Bool ->
-                     DeterminedVariableStyle ->
-                     ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MExprList = Inh_MExprList {config_Inh_MExprList :: LintSettings,funcName_Inh_MExprList :: String,globalDefinitions_Inh_MExprList :: (M.Map String [Region]),inParentheses_Inh_MExprList :: Bool,isInModule_Inh_MExprList :: Bool,isMeta_Inh_MExprList :: Bool,loopLevel_Inh_MExprList :: Int,mtokenPos_Inh_MExprList :: Region,scopeLevel_Inh_MExprList :: Int,scopes_Inh_MExprList :: ([M.Map String (Bool, Region)]),topLevel_Inh_MExprList :: Bool,variableStyle_Inh_MExprList :: DeterminedVariableStyle}
-data Syn_MExprList = Syn_MExprList {copy_Syn_MExprList :: MExprList,globalDefinitions_Syn_MExprList :: (M.Map String [Region]),identifier_Syn_MExprList :: String,isInModule_Syn_MExprList :: Bool,mtokenPos_Syn_MExprList :: Region,scopes_Syn_MExprList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MExprList :: DeterminedVariableStyle,warnings_Syn_MExprList :: ([String -> LintMessage])}
-wrap_MExprList :: T_MExprList ->
-                  Inh_MExprList ->
-                  Syn_MExprList
-wrap_MExprList sem (Inh_MExprList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle
-     in  (Syn_MExprList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_MExprList_Cons :: T_MExpr ->
-                      T_MExprList ->
-                      T_MExprList
-sem_MExprList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,tl_1) ->
-         (case (hd_) of
-          { ( _hdIcopy,_hdImtokenPos,hd_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 6910 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 6915 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_MExprList_Cons_1 :: T_MExprList_1
-                            sem_MExprList_Cons_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIinParentheses
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsItopLevel
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 6934 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _hdOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 6939 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _hdOisMeta ->
-                                       (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIconfig
-                                               {-# LINE 6944 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _hdOconfig ->
-                                        (case (({-# LINE 245 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                Nothing
-                                                {-# LINE 6949 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _hdOvarBeingDefined ->
-                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIvariableStyle
-                                                 {-# LINE 6954 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _hdOvariableStyle ->
-                                          (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsItopLevel
-                                                  {-# LINE 6959 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _hdOtopLevel ->
-                                           (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIscopeLevel
-                                                   {-# LINE 6964 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _hdOscopeLevel ->
-                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsImtokenPos
-                                                    {-# LINE 6969 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _hdOmtokenPos ->
-                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIloopLevel
-                                                     {-# LINE 6974 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _hdOloopLevel ->
-                                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIisInModule
-                                                      {-# LINE 6979 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _hdOisInModule ->
-                                               (case (({-# LINE 181 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIinParentheses
-                                                       {-# LINE 6984 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _hdOinParentheses ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIglobalDefinitions
-                                                        {-# LINE 6989 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _hdOglobalDefinitions ->
-                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIfuncName
-                                                         {-# LINE 6994 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _hdOfuncName ->
-                                                  (case (({-# LINE 244 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 6999 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _hdOisNegation ->
-                                                   (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOinParentheses _hdOisInModule _hdOisMeta _hdOisNegation _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOtopLevel _hdOvarBeingDefined _hdOvariableStyle) of
-                                                    { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdIisSimpleExpression,_hdIisSingleVar,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->
-                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _hdIscopes
-                                                                {-# LINE 7006 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _tlOscopes ->
-                                                         (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIisMeta
-                                                                 {-# LINE 7011 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _tlOisMeta ->
-                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _hdIisInModule
-                                                                  {-# LINE 7016 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _tlOisInModule ->
-                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _hdIglobalDefinitions
-                                                                   {-# LINE 7021 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _tlOglobalDefinitions ->
-                                                            (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIconfig
-                                                                    {-# LINE 7026 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _tlOconfig ->
-                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _hdIvariableStyle
-                                                                     {-# LINE 7031 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _tlOvariableStyle ->
-                                                              (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsItopLevel
-                                                                      {-# LINE 7036 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _tlOtopLevel ->
-                                                               (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIscopeLevel
-                                                                       {-# LINE 7041 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _tlOscopeLevel ->
-                                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _hdImtokenPos
-                                                                        {-# LINE 7046 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _tlOmtokenPos ->
-                                                                 (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIloopLevel
-                                                                         {-# LINE 7051 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _tlOloopLevel ->
-                                                                  (case (({-# LINE 181 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _lhsIinParentheses
-                                                                          {-# LINE 7056 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _tlOinParentheses ->
-                                                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _lhsIfuncName
-                                                                           {-# LINE 7061 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _tlOfuncName ->
-                                                                    (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOinParentheses _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOtopLevel _tlOvariableStyle) of
-                                                                     { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->
-                                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _tlIglobalDefinitions
-                                                                                 {-# LINE 7068 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOglobalDefinitions ->
-                                                                          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  (const _hdIidentifier _tlIidentifier)
-                                                                                  {-# LINE 7073 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOidentifier ->
-                                                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _tlIisInModule
-                                                                                   {-# LINE 7078 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOisInModule ->
-                                                                            (case (({-# LINE 234 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _hdImtokenPos
-                                                                                    {-# LINE 7083 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOmtokenPos ->
-                                                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _tlIscopes
-                                                                                     {-# LINE 7088 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOscopes ->
-                                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _tlIvariableStyle
-                                                                                      {-# LINE 7093 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOvariableStyle ->
-                                                                               (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _hdIwarnings ++ _tlIwarnings
-                                                                                       {-# LINE 7098 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _lhsOwarnings ->
-                                                                                ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_MExprList_Cons_1)) of
-                 { ( sem_MExprList_1) ->
-                 ( _lhsOcopy,sem_MExprList_1) }) }) }) }) })
-sem_MExprList_Nil :: T_MExprList
-sem_MExprList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 7109 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 7114 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_MExprList_Nil_1 :: T_MExprList_1
-                  sem_MExprList_Nil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIinParentheses
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsItopLevel
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 7133 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 7138 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 7143 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 7148 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 7153 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 7158 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 7163 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_MExprList_Nil_1)) of
-       { ( sem_MExprList_1) ->
-       ( _lhsOcopy,sem_MExprList_1) }) }) })
--- MStat -------------------------------------------------------
--- cata
-sem_MStat :: MStat ->
-             T_MStat
-sem_MStat (MStat _pos _stat) =
-    (sem_MStat_MStat (sem_Region _pos) (sem_Stat _stat))
--- semantic domain
-type T_MStat = ( MStat,T_MStat_1)
-type T_MStat_1 = LintSettings ->
-                 String ->
-                 (M.Map String [Region]) ->
-                 Bool ->
-                 Bool ->
-                 Int ->
-                 Region ->
-                 Int ->
-                 ([M.Map String (Bool, Region)]) ->
-                 DeterminedVariableStyle ->
-                 ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MStat = Inh_MStat {config_Inh_MStat :: LintSettings,funcName_Inh_MStat :: String,globalDefinitions_Inh_MStat :: (M.Map String [Region]),isInModule_Inh_MStat :: Bool,isMeta_Inh_MStat :: Bool,loopLevel_Inh_MStat :: Int,mtokenPos_Inh_MStat :: Region,scopeLevel_Inh_MStat :: Int,scopes_Inh_MStat :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MStat :: DeterminedVariableStyle}
-data Syn_MStat = Syn_MStat {copy_Syn_MStat :: MStat,globalDefinitions_Syn_MStat :: (M.Map String [Region]),identifier_Syn_MStat :: String,isIfStatement_Syn_MStat :: Bool,isInModule_Syn_MStat :: Bool,mtokenPos_Syn_MStat :: Region,scopes_Syn_MStat :: ([M.Map String (Bool, Region)]),statementCount_Syn_MStat :: Int,variableStyle_Syn_MStat :: DeterminedVariableStyle,warnings_Syn_MStat :: ([String -> LintMessage])}
-wrap_MStat :: T_MStat ->
-              Inh_MStat ->
-              Syn_MStat
-wrap_MStat sem (Inh_MStat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_MStat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))
-sem_MStat_MStat :: T_Region ->
-                   T_Stat ->
-                   T_MStat
-sem_MStat_MStat pos_ stat_ =
-    (case (stat_) of
-     { ( _statIcopy,stat_1) ->
-         (case (pos_) of
-          { ( _posIcopy,_posIidentifier,_posIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      MStat _posIcopy _statIcopy
-                      {-# LINE 7208 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 7213 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_MStat_MStat_1 :: T_MStat_1
-                            sem_MStat_MStat_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 7230 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _statOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 7235 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _statOisMeta ->
-                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisInModule
-                                               {-# LINE 7240 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _statOisInModule ->
-                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIglobalDefinitions
-                                                {-# LINE 7245 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _statOglobalDefinitions ->
-                                         (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIconfig
-                                                 {-# LINE 7250 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _statOconfig ->
-                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIvariableStyle
-                                                  {-# LINE 7255 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _statOvariableStyle ->
-                                           (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIscopeLevel
-                                                   {-# LINE 7260 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _statOscopeLevel ->
-                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIloopLevel
-                                                    {-# LINE 7265 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _statOloopLevel ->
-                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIfuncName
-                                                     {-# LINE 7270 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _statOfuncName ->
-                                              (case (({-# LINE 309 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _posIcopy
-                                                      {-# LINE 7275 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _statOmtokenPos ->
-                                               (case (stat_1 _statOconfig _statOfuncName _statOglobalDefinitions _statOisInModule _statOisMeta _statOloopLevel _statOmtokenPos _statOscopeLevel _statOscopes _statOvariableStyle) of
-                                                { ( _statIglobalDefinitions,_statIidentifier,_statIisIfStatement,_statIisInModule,_statImtokenPos,_statIscopes,_statIvariableStyle,_statIwarnings) ->
-                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _statIglobalDefinitions
-                                                            {-# LINE 7282 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOglobalDefinitions ->
-                                                     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             (const _posIidentifier _statIidentifier)
-                                                             {-# LINE 7287 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOidentifier ->
-                                                      (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _statIisIfStatement
-                                                              {-# LINE 7292 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOisIfStatement ->
-                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _statIisInModule
-                                                               {-# LINE 7297 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOisInModule ->
-                                                        (case (({-# LINE 308 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _posIcopy
-                                                                {-# LINE 7302 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOmtokenPos ->
-                                                         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _statIscopes
-                                                                 {-# LINE 7307 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOscopes ->
-                                                          (case (({-# LINE 157 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  1
-                                                                  {-# LINE 7312 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOstatementCount ->
-                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _statIvariableStyle
-                                                                   {-# LINE 7317 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _lhsOvariableStyle ->
-                                                            (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _posIwarnings ++ _statIwarnings
-                                                                    {-# LINE 7322 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOwarnings ->
-                                                             ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_MStat_MStat_1)) of
-                 { ( sem_MStat_1) ->
-                 ( _lhsOcopy,sem_MStat_1) }) }) }) }) })
--- MStatList ---------------------------------------------------
--- cata
-sem_MStatList :: MStatList ->
-                 T_MStatList
-sem_MStatList list =
-    (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))
--- semantic domain
-type T_MStatList = ( MStatList,T_MStatList_1)
-type T_MStatList_1 = LintSettings ->
-                     String ->
-                     (M.Map String [Region]) ->
-                     Bool ->
-                     Bool ->
-                     Int ->
-                     Region ->
-                     Int ->
-                     ([M.Map String (Bool, Region)]) ->
-                     DeterminedVariableStyle ->
-                     ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MStatList = Inh_MStatList {config_Inh_MStatList :: LintSettings,funcName_Inh_MStatList :: String,globalDefinitions_Inh_MStatList :: (M.Map String [Region]),isInModule_Inh_MStatList :: Bool,isMeta_Inh_MStatList :: Bool,loopLevel_Inh_MStatList :: Int,mtokenPos_Inh_MStatList :: Region,scopeLevel_Inh_MStatList :: Int,scopes_Inh_MStatList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MStatList :: DeterminedVariableStyle}
-data Syn_MStatList = Syn_MStatList {copy_Syn_MStatList :: MStatList,globalDefinitions_Syn_MStatList :: (M.Map String [Region]),identifier_Syn_MStatList :: String,isIfStatement_Syn_MStatList :: Bool,isInModule_Syn_MStatList :: Bool,mtokenPos_Syn_MStatList :: Region,scopes_Syn_MStatList :: ([M.Map String (Bool, Region)]),statementCount_Syn_MStatList :: Int,variableStyle_Syn_MStatList :: DeterminedVariableStyle,warnings_Syn_MStatList :: ([String -> LintMessage])}
-wrap_MStatList :: T_MStatList ->
-                  Inh_MStatList ->
-                  Syn_MStatList
-wrap_MStatList sem (Inh_MStatList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_MStatList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))
-sem_MStatList_Cons :: T_MStat ->
-                      T_MStatList ->
-                      T_MStatList
-sem_MStatList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,tl_1) ->
-         (case (hd_) of
-          { ( _hdIcopy,hd_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 7367 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 7372 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_MStatList_Cons_1 :: T_MStatList_1
-                            sem_MStatList_Cons_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 7389 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _hdOscopes ->
-                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisMeta
-                                              {-# LINE 7394 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _hdOisMeta ->
-                                       (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIconfig
-                                               {-# LINE 7399 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _hdOconfig ->
-                                        (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIvariableStyle
-                                                {-# LINE 7404 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _hdOvariableStyle ->
-                                         (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopeLevel
-                                                 {-# LINE 7409 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _hdOscopeLevel ->
-                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsImtokenPos
-                                                  {-# LINE 7414 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _hdOmtokenPos ->
-                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIloopLevel
-                                                   {-# LINE 7419 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _hdOloopLevel ->
-                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisInModule
-                                                    {-# LINE 7424 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _hdOisInModule ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 7429 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _hdOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 7434 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _hdOfuncName ->
-                                               (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
-                                                { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisIfStatement,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIstatementCount,_hdIvariableStyle,_hdIwarnings) ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _hdIscopes
-                                                            {-# LINE 7441 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _tlOscopes ->
-                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIisMeta
-                                                             {-# LINE 7446 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _tlOisMeta ->
-                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _hdIisInModule
-                                                              {-# LINE 7451 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _tlOisInModule ->
-                                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _hdIglobalDefinitions
-                                                               {-# LINE 7456 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _tlOglobalDefinitions ->
-                                                        (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIconfig
-                                                                {-# LINE 7461 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _tlOconfig ->
-                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _hdIvariableStyle
-                                                                 {-# LINE 7466 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _tlOvariableStyle ->
-                                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIscopeLevel
-                                                                  {-# LINE 7471 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _tlOscopeLevel ->
-                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _hdImtokenPos
-                                                                   {-# LINE 7476 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _tlOmtokenPos ->
-                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIloopLevel
-                                                                    {-# LINE 7481 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _tlOloopLevel ->
-                                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIfuncName
-                                                                     {-# LINE 7486 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _tlOfuncName ->
-                                                              (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
-                                                               { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisIfStatement,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIstatementCount,_tlIvariableStyle,_tlIwarnings) ->
-                                                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _tlIglobalDefinitions
-                                                                           {-# LINE 7493 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _lhsOglobalDefinitions ->
-                                                                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            (const _hdIidentifier _tlIidentifier)
-                                                                            {-# LINE 7498 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _lhsOidentifier ->
-                                                                     (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _hdIisIfStatement || _tlIisIfStatement
-                                                                             {-# LINE 7503 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOisIfStatement ->
-                                                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _tlIisInModule
-                                                                              {-# LINE 7508 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOisInModule ->
-                                                                       (case (({-# LINE 234 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _hdImtokenPos
-                                                                               {-# LINE 7513 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOmtokenPos ->
-                                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _tlIscopes
-                                                                                {-# LINE 7518 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOscopes ->
-                                                                         (case (({-# LINE 157 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _hdIstatementCount + _tlIstatementCount
-                                                                                 {-# LINE 7523 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOstatementCount ->
-                                                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _tlIvariableStyle
-                                                                                  {-# LINE 7528 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOvariableStyle ->
-                                                                           (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _hdIwarnings ++ _tlIwarnings
-                                                                                   {-# LINE 7533 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOwarnings ->
-                                                                            ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_MStatList_Cons_1)) of
-                 { ( sem_MStatList_1) ->
-                 ( _lhsOcopy,sem_MStatList_1) }) }) }) }) })
-sem_MStatList_Nil :: T_MStatList
-sem_MStatList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 7544 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 7549 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_MStatList_Nil_1 :: T_MStatList_1
-                  sem_MStatList_Nil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 7566 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 7571 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     False
-                                     {-# LINE 7576 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisIfStatement ->
-                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsIisInModule
-                                      {-# LINE 7581 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisInModule ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 7586 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 7591 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 240 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         0
-                                         {-# LINE 7596 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOstatementCount ->
-                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIvariableStyle
-                                          {-# LINE 7601 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOvariableStyle ->
-                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           []
-                                           {-# LINE 7606 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lhsOwarnings ->
-                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))
-              in  sem_MStatList_Nil_1)) of
-       { ( sem_MStatList_1) ->
-       ( _lhsOcopy,sem_MStatList_1) }) }) })
--- MToken ------------------------------------------------------
--- cata
-sem_MToken :: MToken ->
-              T_MToken
-sem_MToken (MToken _mpos _mtok) =
-    (sem_MToken_MToken (sem_Region _mpos) (sem_Token _mtok))
--- semantic domain
-type T_MToken = ( MToken,Token,Region,T_MToken_1)
-type T_MToken_1 = LintSettings ->
-                  String ->
-                  (M.Map String [Region]) ->
-                  Bool ->
-                  Bool ->
-                  Region ->
-                  ([M.Map String (Bool, Region)]) ->
-                  ( (M.Map String [Region]),String,Bool,([M.Map String (Bool, Region)]),([String -> LintMessage]))
-data Inh_MToken = Inh_MToken {config_Inh_MToken :: LintSettings,funcName_Inh_MToken :: String,globalDefinitions_Inh_MToken :: (M.Map String [Region]),isInModule_Inh_MToken :: Bool,isMeta_Inh_MToken :: Bool,mtokenPos_Inh_MToken :: Region,scopes_Inh_MToken :: ([M.Map String (Bool, Region)])}
-data Syn_MToken = Syn_MToken {copy_Syn_MToken :: MToken,globalDefinitions_Syn_MToken :: (M.Map String [Region]),identifier_Syn_MToken :: String,isInModule_Syn_MToken :: Bool,mtok_Syn_MToken :: Token,mtokenPos_Syn_MToken :: Region,scopes_Syn_MToken :: ([M.Map String (Bool, Region)]),warnings_Syn_MToken :: ([String -> LintMessage])}
-wrap_MToken :: T_MToken ->
-               Inh_MToken ->
-               Syn_MToken
-wrap_MToken sem (Inh_MToken _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =
-    (let ( _lhsOcopy,_lhsOmtok,_lhsOmtokenPos,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOscopes,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes
-     in  (Syn_MToken _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtok _lhsOmtokenPos _lhsOscopes _lhsOwarnings))
-sem_MToken_MToken :: T_Region ->
-                     T_Token ->
-                     T_MToken
-sem_MToken_MToken mpos_ mtok_ =
-    (case (mtok_) of
-     { ( _mtokIcopy,_mtokIidentifier,_mtokIwarnings) ->
-         (case (mpos_) of
-          { ( _mposIcopy,_mposIidentifier,_mposIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      MToken _mposIcopy _mtokIcopy
-                      {-# LINE 7648 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 7653 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case (({-# LINE 227 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        _mtokIcopy
-                        {-# LINE 7658 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _lhsOmtok ->
-                 (case (({-# LINE 226 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                         _mposIcopy
-                         {-# LINE 7663 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                         )) of
-                  { _lhsOmtokenPos ->
-                  (case ((let sem_MToken_MToken_1 :: T_MToken_1
-                              sem_MToken_MToken_1 =
-                                  (\ _lhsIconfig
-                                     _lhsIfuncName
-                                     _lhsIglobalDefinitions
-                                     _lhsIisInModule
-                                     _lhsIisMeta
-                                     _lhsImtokenPos
-                                     _lhsIscopes ->
-                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIglobalDefinitions
-                                               {-# LINE 7677 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _lhsOglobalDefinitions ->
-                                        (case (({-# LINE 228 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _mtokIidentifier
-                                                {-# LINE 7682 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _lhsOidentifier ->
-                                         (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIisInModule
-                                                 {-# LINE 7687 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _lhsOisInModule ->
-                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIscopes
-                                                  {-# LINE 7692 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _lhsOscopes ->
-                                           (case (({-# LINE 229 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _mposIwarnings ++ _mtokIwarnings
-                                                   {-# LINE 7697 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _warnings_augmented_syn ->
-                                            (case (({-# LINE 229 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    if not (lint_goto_identifier _lhsIconfig) || _mtokIidentifier /= "goto" then id else
-                                                      (:) $ warn _mposIcopy GotoAsIdentifier
-                                                    {-# LINE 7703 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _warnings_augmented_f1 ->
-                                             (case (({-# LINE 229 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                     {-# LINE 7708 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOwarnings ->
-                                              ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOscopes,_lhsOwarnings) }) }) }) }) }) }) }))
-                          in  sem_MToken_MToken_1)) of
-                   { ( sem_MToken_1) ->
-                   ( _lhsOcopy,_lhsOmtok,_lhsOmtokenPos,sem_MToken_1) }) }) }) }) }) }) })
--- MTokenList --------------------------------------------------
--- cata
-sem_MTokenList :: MTokenList ->
-                  T_MTokenList
-sem_MTokenList list =
-    (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))
--- semantic domain
-type T_MTokenList = LintSettings ->
-                    String ->
-                    (M.Map String [Region]) ->
-                    Bool ->
-                    Bool ->
-                    Region ->
-                    ([M.Map String (Bool, Region)]) ->
-                    ( MTokenList,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),([String -> LintMessage]))
-data Inh_MTokenList = Inh_MTokenList {config_Inh_MTokenList :: LintSettings,funcName_Inh_MTokenList :: String,globalDefinitions_Inh_MTokenList :: (M.Map String [Region]),isInModule_Inh_MTokenList :: Bool,isMeta_Inh_MTokenList :: Bool,mtokenPos_Inh_MTokenList :: Region,scopes_Inh_MTokenList :: ([M.Map String (Bool, Region)])}
-data Syn_MTokenList = Syn_MTokenList {copy_Syn_MTokenList :: MTokenList,globalDefinitions_Syn_MTokenList :: (M.Map String [Region]),identifier_Syn_MTokenList :: String,isInModule_Syn_MTokenList :: Bool,mtokenPos_Syn_MTokenList :: Region,scopes_Syn_MTokenList :: ([M.Map String (Bool, Region)]),warnings_Syn_MTokenList :: ([String -> LintMessage])}
-wrap_MTokenList :: T_MTokenList ->
-                   Inh_MTokenList ->
-                   Syn_MTokenList
-wrap_MTokenList sem (Inh_MTokenList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =
-    (let ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes
-     in  (Syn_MTokenList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOwarnings))
-sem_MTokenList_Cons :: T_MToken ->
-                       T_MTokenList ->
-                       T_MTokenList
-sem_MTokenList_Cons hd_ tl_ =
-    (\ _lhsIconfig
-       _lhsIfuncName
-       _lhsIglobalDefinitions
-       _lhsIisInModule
-       _lhsIisMeta
-       _lhsImtokenPos
-       _lhsIscopes ->
-         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 _lhsIscopes
-                 {-# LINE 7751 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _hdOscopes ->
-          (case (hd_) of
-           { ( _hdIcopy,_hdImtok,_hdImtokenPos,hd_1) ->
-               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _lhsImtokenPos
-                       {-# LINE 7758 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _hdOmtokenPos ->
-                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        _lhsIisMeta
-                        {-# LINE 7763 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _hdOisMeta ->
-                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                         _lhsIisInModule
-                         {-# LINE 7768 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                         )) of
-                  { _hdOisInModule ->
-                  (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                          _lhsIglobalDefinitions
-                          {-# LINE 7773 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                          )) of
-                   { _hdOglobalDefinitions ->
-                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                           _lhsIfuncName
-                           {-# LINE 7778 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                           )) of
-                    { _hdOfuncName ->
-                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                            _lhsIconfig
-                            {-# LINE 7783 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                            )) of
-                     { _hdOconfig ->
-                     (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOmtokenPos _hdOscopes) of
-                      { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdIscopes,_hdIwarnings) ->
-                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                  _hdIscopes
-                                  {-# LINE 7790 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                  )) of
-                           { _tlOscopes ->
-                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _hdImtokenPos
-                                   {-# LINE 7795 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _tlOmtokenPos ->
-                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    _lhsIisMeta
-                                    {-# LINE 7800 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _tlOisMeta ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _hdIisInModule
-                                     {-# LINE 7805 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _tlOisInModule ->
-                              (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _hdIglobalDefinitions
-                                      {-# LINE 7810 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _tlOglobalDefinitions ->
-                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIfuncName
-                                       {-# LINE 7815 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _tlOfuncName ->
-                                (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIconfig
-                                        {-# LINE 7820 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _tlOconfig ->
-                                 (case (tl_ _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOmtokenPos _tlOscopes) of
-                                  { ( _tlIcopy,_tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIwarnings) ->
-                                      (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              (:) _hdIcopy _tlIcopy
-                                              {-# LINE 7827 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _copy ->
-                                       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _copy
-                                               {-# LINE 7832 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _lhsOcopy ->
-                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _tlIglobalDefinitions
-                                                {-# LINE 7837 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _lhsOglobalDefinitions ->
-                                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 (const _hdIidentifier _tlIidentifier)
-                                                 {-# LINE 7842 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _lhsOidentifier ->
-                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _tlIisInModule
-                                                  {-# LINE 7847 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _lhsOisInModule ->
-                                           (case (({-# LINE 234 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _hdImtokenPos
-                                                   {-# LINE 7852 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _lhsOmtokenPos ->
-                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _tlIscopes
-                                                    {-# LINE 7857 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _lhsOscopes ->
-                                             (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _hdIwarnings ++ _tlIwarnings
-                                                     {-# LINE 7862 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOwarnings ->
-                                              ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_MTokenList_Nil :: T_MTokenList
-sem_MTokenList_Nil =
-    (\ _lhsIconfig
-       _lhsIfuncName
-       _lhsIglobalDefinitions
-       _lhsIisInModule
-       _lhsIisMeta
-       _lhsImtokenPos
-       _lhsIscopes ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 []
-                 {-# LINE 7877 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 7882 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                   _lhsIglobalDefinitions
-                   {-# LINE 7887 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                   )) of
-            { _lhsOglobalDefinitions ->
-            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                    unknownIdentifier
-                    {-# LINE 7892 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                    )) of
-             { _lhsOidentifier ->
-             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                     _lhsIisInModule
-                     {-# LINE 7897 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                     )) of
-              { _lhsOisInModule ->
-              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      _lhsImtokenPos
-                      {-# LINE 7902 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _lhsOmtokenPos ->
-               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _lhsIscopes
-                       {-# LINE 7907 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOscopes ->
-                (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        []
-                        {-# LINE 7912 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _lhsOwarnings ->
-                 ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOwarnings) }) }) }) }) }) }) }) }))
--- MaybeMExpr --------------------------------------------------
--- cata
-sem_MaybeMExpr :: MaybeMExpr ->
-                  T_MaybeMExpr
-sem_MaybeMExpr (Prelude.Just x) =
-    (sem_MaybeMExpr_Just (sem_MExpr x))
-sem_MaybeMExpr Prelude.Nothing =
-    sem_MaybeMExpr_Nothing
--- semantic domain
-type T_MaybeMExpr = ( MaybeMExpr,T_MaybeMExpr_1)
-type T_MaybeMExpr_1 = LintSettings ->
-                      String ->
-                      (M.Map String [Region]) ->
-                      Bool ->
-                      Bool ->
-                      Bool ->
-                      Int ->
-                      Region ->
-                      Int ->
-                      ([M.Map String (Bool, Region)]) ->
-                      (Maybe MToken) ->
-                      DeterminedVariableStyle ->
-                      ( (M.Map String [Region]),String,Bool,(Maybe MToken),Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_MaybeMExpr = Inh_MaybeMExpr {config_Inh_MaybeMExpr :: LintSettings,funcName_Inh_MaybeMExpr :: String,globalDefinitions_Inh_MaybeMExpr :: (M.Map String [Region]),isInModule_Inh_MaybeMExpr :: Bool,isMeta_Inh_MaybeMExpr :: Bool,isNegation_Inh_MaybeMExpr :: Bool,loopLevel_Inh_MaybeMExpr :: Int,mtokenPos_Inh_MaybeMExpr :: Region,scopeLevel_Inh_MaybeMExpr :: Int,scopes_Inh_MaybeMExpr :: ([M.Map String (Bool, Region)]),varBeingDefined_Inh_MaybeMExpr :: (Maybe MToken),variableStyle_Inh_MaybeMExpr :: DeterminedVariableStyle}
-data Syn_MaybeMExpr = Syn_MaybeMExpr {copy_Syn_MaybeMExpr :: MaybeMExpr,globalDefinitions_Syn_MaybeMExpr :: (M.Map String [Region]),identifier_Syn_MaybeMExpr :: String,isInModule_Syn_MaybeMExpr :: Bool,isSingleVar_Syn_MaybeMExpr :: (Maybe MToken),mtokenPos_Syn_MaybeMExpr :: Region,scopes_Syn_MaybeMExpr :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MaybeMExpr :: DeterminedVariableStyle,warnings_Syn_MaybeMExpr :: ([String -> LintMessage])}
-wrap_MaybeMExpr :: T_MaybeMExpr ->
-                   Inh_MaybeMExpr ->
-                   Syn_MaybeMExpr
-wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle
-     in  (Syn_MaybeMExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_MaybeMExpr_Just :: T_MExpr ->
-                       T_MaybeMExpr
-sem_MaybeMExpr_Just just_ =
-    (case (just_) of
-     { ( _justIcopy,_justImtokenPos,just_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 Just _justIcopy
-                 {-# LINE 7955 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 7960 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_MaybeMExpr_Just_1 :: T_MaybeMExpr_1
-                       sem_MaybeMExpr_Just_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIisNegation
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvarBeingDefined
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 178 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvarBeingDefined
-                                        {-# LINE 7979 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _justOvarBeingDefined ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 7984 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _justOscopes ->
-                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisMeta
-                                          {-# LINE 7989 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _justOisMeta ->
-                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisInModule
-                                           {-# LINE 7994 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _justOisInModule ->
-                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIglobalDefinitions
-                                            {-# LINE 7999 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _justOglobalDefinitions ->
-                                     (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIconfig
-                                             {-# LINE 8004 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _justOconfig ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 8009 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _justOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 8014 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _justOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 8019 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _justOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 8024 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _justOloopLevel ->
-                                          (case (({-# LINE 169 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIisNegation
-                                                  {-# LINE 8029 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _justOisNegation ->
-                                           (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIfuncName
-                                                   {-# LINE 8034 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _justOfuncName ->
-                                            (case (({-# LINE 251 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    False
-                                                    {-# LINE 8039 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _justOtopLevel ->
-                                             (case (({-# LINE 250 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     False
-                                                     {-# LINE 8044 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _justOinParentheses ->
-                                              (case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOinParentheses _justOisInModule _justOisMeta _justOisNegation _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOtopLevel _justOvarBeingDefined _justOvariableStyle) of
-                                               { ( _justIglobalDefinitions,_justIidentifier,_justIisInModule,_justIisSimpleExpression,_justIisSingleVar,_justIscopes,_justIvariableStyle,_justIwarnings) ->
-                                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _justIglobalDefinitions
-                                                           {-# LINE 8051 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOglobalDefinitions ->
-                                                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _justIidentifier
-                                                            {-# LINE 8056 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOidentifier ->
-                                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _justIisInModule
-                                                             {-# LINE 8061 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOisInModule ->
-                                                      (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _justIisSingleVar
-                                                              {-# LINE 8066 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOisSingleVar ->
-                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _justImtokenPos
-                                                               {-# LINE 8071 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOmtokenPos ->
-                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _justIscopes
-                                                                {-# LINE 8076 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOscopes ->
-                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _justIvariableStyle
-                                                                 {-# LINE 8081 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOvariableStyle ->
-                                                          (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _justIwarnings
-                                                                  {-# LINE 8086 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOwarnings ->
-                                                           ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_MaybeMExpr_Just_1)) of
-            { ( sem_MaybeMExpr_1) ->
-            ( _lhsOcopy,sem_MaybeMExpr_1) }) }) }) })
-sem_MaybeMExpr_Nothing :: T_MaybeMExpr
-sem_MaybeMExpr_Nothing =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Nothing
-            {-# LINE 8097 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 8102 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_MaybeMExpr_Nothing_1 :: T_MaybeMExpr_1
-                  sem_MaybeMExpr_Nothing_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIisNegation
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvarBeingDefined
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 8121 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 8126 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 8131 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 213 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      Nothing
-                                      {-# LINE 8136 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisSingleVar ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 8141 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 8146 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 8151 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 8156 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_MaybeMExpr_Nothing_1)) of
-       { ( sem_MaybeMExpr_1) ->
-       ( _lhsOcopy,sem_MaybeMExpr_1) }) }) })
--- PFExprSuffix ------------------------------------------------
--- cata
-sem_PFExprSuffix :: PFExprSuffix ->
-                    T_PFExprSuffix
-sem_PFExprSuffix (Call _args) =
-    (sem_PFExprSuffix_Call (sem_Args _args))
-sem_PFExprSuffix (MetaCall _fn _args) =
-    (sem_PFExprSuffix_MetaCall (sem_MToken _fn) (sem_Args _args))
-sem_PFExprSuffix (ExprIndex _index) =
-    (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))
-sem_PFExprSuffix (DotIndex _index) =
-    (sem_PFExprSuffix_DotIndex (sem_MToken _index))
--- semantic domain
-type T_PFExprSuffix = ( PFExprSuffix,T_PFExprSuffix_1)
-type T_PFExprSuffix_1 = LintSettings ->
-                        String ->
-                        (M.Map String [Region]) ->
-                        Bool ->
-                        Bool ->
-                        Int ->
-                        Region ->
-                        Int ->
-                        ([M.Map String (Bool, Region)]) ->
-                        DeterminedVariableStyle ->
-                        ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_PFExprSuffix = Inh_PFExprSuffix {config_Inh_PFExprSuffix :: LintSettings,funcName_Inh_PFExprSuffix :: String,globalDefinitions_Inh_PFExprSuffix :: (M.Map String [Region]),isInModule_Inh_PFExprSuffix :: Bool,isMeta_Inh_PFExprSuffix :: Bool,loopLevel_Inh_PFExprSuffix :: Int,mtokenPos_Inh_PFExprSuffix :: Region,scopeLevel_Inh_PFExprSuffix :: Int,scopes_Inh_PFExprSuffix :: ([M.Map String (Bool, Region)]),variableStyle_Inh_PFExprSuffix :: DeterminedVariableStyle}
-data Syn_PFExprSuffix = Syn_PFExprSuffix {copy_Syn_PFExprSuffix :: PFExprSuffix,globalDefinitions_Syn_PFExprSuffix :: (M.Map String [Region]),identifier_Syn_PFExprSuffix :: String,isInModule_Syn_PFExprSuffix :: Bool,isSimpleExpression_Syn_PFExprSuffix :: Bool,mtokenPos_Syn_PFExprSuffix :: Region,scopes_Syn_PFExprSuffix :: ([M.Map String (Bool, Region)]),variableStyle_Syn_PFExprSuffix :: DeterminedVariableStyle,warnings_Syn_PFExprSuffix :: ([String -> LintMessage])}
-wrap_PFExprSuffix :: T_PFExprSuffix ->
-                     Inh_PFExprSuffix ->
-                     Syn_PFExprSuffix
-wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_PFExprSuffix _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_PFExprSuffix_Call :: T_Args ->
-                         T_PFExprSuffix
-sem_PFExprSuffix_Call args_ =
-    (case (args_) of
-     { ( _argsIcopy,args_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 Call _argsIcopy
-                 {-# LINE 8204 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 8209 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_PFExprSuffix_Call_1 :: T_PFExprSuffix_1
-                       sem_PFExprSuffix_Call_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 8226 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _argsOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 8231 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _argsOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 8236 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _argsOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 8241 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _argsOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 8246 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _argsOconfig ->
-                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIvariableStyle
-                                             {-# LINE 8251 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _argsOvariableStyle ->
-                                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopeLevel
-                                              {-# LINE 8256 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _argsOscopeLevel ->
-                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsImtokenPos
-                                               {-# LINE 8261 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _argsOmtokenPos ->
-                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIloopLevel
-                                                {-# LINE 8266 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _argsOloopLevel ->
-                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIfuncName
-                                                 {-# LINE 8271 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _argsOfuncName ->
-                                          (case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of
-                                           { ( _argsIglobalDefinitions,_argsIidentifier,_argsIisInModule,_argsImtokenPos,_argsIscopes,_argsIvariableStyle,_argsIwarnings) ->
-                                               (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _argsIglobalDefinitions
-                                                       {-# LINE 8278 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _lhsOglobalDefinitions ->
-                                                (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _argsIidentifier
-                                                        {-# LINE 8283 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOidentifier ->
-                                                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _argsIisInModule
-                                                         {-# LINE 8288 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOisInModule ->
-                                                  (case (({-# LINE 545 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 8293 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisSimpleExpression ->
-                                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _argsImtokenPos
-                                                           {-# LINE 8298 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOmtokenPos ->
-                                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _argsIscopes
-                                                            {-# LINE 8303 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOscopes ->
-                                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _argsIvariableStyle
-                                                             {-# LINE 8308 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOvariableStyle ->
-                                                      (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _argsIwarnings
-                                                              {-# LINE 8313 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOwarnings ->
-                                                       ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_PFExprSuffix_Call_1)) of
-            { ( sem_PFExprSuffix_1) ->
-            ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) })
-sem_PFExprSuffix_MetaCall :: T_MToken ->
-                             T_Args ->
-                             T_PFExprSuffix
-sem_PFExprSuffix_MetaCall fn_ args_ =
-    (case (args_) of
-     { ( _argsIcopy,args_1) ->
-         (case (fn_) of
-          { ( _fnIcopy,_fnImtok,_fnImtokenPos,fn_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      MetaCall _fnIcopy _argsIcopy
-                      {-# LINE 8330 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 8335 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_PFExprSuffix_MetaCall_1 :: T_PFExprSuffix_1
-                            sem_PFExprSuffix_MetaCall_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 8352 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _fnOscopes ->
-                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsImtokenPos
-                                              {-# LINE 8357 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _fnOmtokenPos ->
-                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisMeta
-                                               {-# LINE 8362 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _fnOisMeta ->
-                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIisInModule
-                                                {-# LINE 8367 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _fnOisInModule ->
-                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIglobalDefinitions
-                                                 {-# LINE 8372 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _fnOglobalDefinitions ->
-                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfuncName
-                                                  {-# LINE 8377 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _fnOfuncName ->
-                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIconfig
-                                                   {-# LINE 8382 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _fnOconfig ->
-                                            (case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOisInModule _fnOisMeta _fnOmtokenPos _fnOscopes) of
-                                             { ( _fnIglobalDefinitions,_fnIidentifier,_fnIisInModule,_fnIscopes,_fnIwarnings) ->
-                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _fnIscopes
-                                                         {-# LINE 8389 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _argsOscopes ->
-                                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIisMeta
-                                                          {-# LINE 8394 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _argsOisMeta ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _fnIisInModule
-                                                           {-# LINE 8399 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _argsOisInModule ->
-                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _fnIglobalDefinitions
-                                                            {-# LINE 8404 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _argsOglobalDefinitions ->
-                                                     (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIconfig
-                                                             {-# LINE 8409 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _argsOconfig ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _lhsIvariableStyle
-                                                              {-# LINE 8414 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _argsOvariableStyle ->
-                                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsIscopeLevel
-                                                               {-# LINE 8419 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _argsOscopeLevel ->
-                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _fnImtokenPos
-                                                                {-# LINE 8424 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _argsOmtokenPos ->
-                                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIloopLevel
-                                                                 {-# LINE 8429 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _argsOloopLevel ->
-                                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIfuncName
-                                                                  {-# LINE 8434 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _argsOfuncName ->
-                                                           (case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of
-                                                            { ( _argsIglobalDefinitions,_argsIidentifier,_argsIisInModule,_argsImtokenPos,_argsIscopes,_argsIvariableStyle,_argsIwarnings) ->
-                                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _argsIglobalDefinitions
-                                                                        {-# LINE 8441 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _lhsOglobalDefinitions ->
-                                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         (const _fnIidentifier _argsIidentifier)
-                                                                         {-# LINE 8446 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _lhsOidentifier ->
-                                                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _argsIisInModule
-                                                                          {-# LINE 8451 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _lhsOisInModule ->
-                                                                   (case (({-# LINE 547 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           False
-                                                                           {-# LINE 8456 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _lhsOisSimpleExpression ->
-                                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            _argsImtokenPos
-                                                                            {-# LINE 8461 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _lhsOmtokenPos ->
-                                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _argsIscopes
-                                                                             {-# LINE 8466 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOscopes ->
-                                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _argsIvariableStyle
-                                                                              {-# LINE 8471 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOvariableStyle ->
-                                                                       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _fnIwarnings ++ _argsIwarnings
-                                                                               {-# LINE 8476 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOwarnings ->
-                                                                        ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_PFExprSuffix_MetaCall_1)) of
-                 { ( sem_PFExprSuffix_1) ->
-                 ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) }) })
-sem_PFExprSuffix_ExprIndex :: T_MExpr ->
-                              T_PFExprSuffix
-sem_PFExprSuffix_ExprIndex index_ =
-    (case (index_) of
-     { ( _indexIcopy,_indexImtokenPos,index_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 ExprIndex _indexIcopy
-                 {-# LINE 8490 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 8495 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_PFExprSuffix_ExprIndex_1 :: T_PFExprSuffix_1
-                       sem_PFExprSuffix_ExprIndex_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 8512 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _indexOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 8517 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _indexOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 8522 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _indexOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 8527 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _indexOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 8532 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _indexOconfig ->
-                                     (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             Nothing
-                                             {-# LINE 8537 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _indexOvarBeingDefined ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 8542 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _indexOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 8547 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _indexOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 8552 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _indexOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 8557 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _indexOloopLevel ->
-                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfuncName
-                                                  {-# LINE 8562 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _indexOfuncName ->
-                                           (case (({-# LINE 551 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   True
-                                                   {-# LINE 8567 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _indexOtopLevel ->
-                                            (case (({-# LINE 550 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    True
-                                                    {-# LINE 8572 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _indexOinParentheses ->
-                                             (case (({-# LINE 549 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     False
-                                                     {-# LINE 8577 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _indexOisNegation ->
-                                              (case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOinParentheses _indexOisInModule _indexOisMeta _indexOisNegation _indexOloopLevel _indexOmtokenPos _indexOscopeLevel _indexOscopes _indexOtopLevel _indexOvarBeingDefined _indexOvariableStyle) of
-                                               { ( _indexIglobalDefinitions,_indexIidentifier,_indexIisInModule,_indexIisSimpleExpression,_indexIisSingleVar,_indexIscopes,_indexIvariableStyle,_indexIwarnings) ->
-                                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _indexIglobalDefinitions
-                                                           {-# LINE 8584 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOglobalDefinitions ->
-                                                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _indexIidentifier
-                                                            {-# LINE 8589 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOidentifier ->
-                                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _indexIisInModule
-                                                             {-# LINE 8594 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOisInModule ->
-                                                      (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _indexIisSimpleExpression
-                                                              {-# LINE 8599 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOisSimpleExpression ->
-                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _indexImtokenPos
-                                                               {-# LINE 8604 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOmtokenPos ->
-                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _indexIscopes
-                                                                {-# LINE 8609 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOscopes ->
-                                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _indexIvariableStyle
-                                                                 {-# LINE 8614 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOvariableStyle ->
-                                                          (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _indexIwarnings
-                                                                  {-# LINE 8619 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOwarnings ->
-                                                           ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_PFExprSuffix_ExprIndex_1)) of
-            { ( sem_PFExprSuffix_1) ->
-            ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) })
-sem_PFExprSuffix_DotIndex :: T_MToken ->
-                             T_PFExprSuffix
-sem_PFExprSuffix_DotIndex index_ =
-    (case (index_) of
-     { ( _indexIcopy,_indexImtok,_indexImtokenPos,index_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 DotIndex _indexIcopy
-                 {-# LINE 8633 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 8638 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_PFExprSuffix_DotIndex_1 :: T_PFExprSuffix_1
-                       sem_PFExprSuffix_DotIndex_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIglobalDefinitions
-                                        {-# LINE 8655 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _indexOglobalDefinitions ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 8660 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _indexOscopes ->
-                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsImtokenPos
-                                          {-# LINE 8665 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _indexOmtokenPos ->
-                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisMeta
-                                           {-# LINE 8670 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _indexOisMeta ->
-                                    (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIisInModule
-                                            {-# LINE 8675 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _indexOisInModule ->
-                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfuncName
-                                             {-# LINE 8680 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _indexOfuncName ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 8685 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _indexOconfig ->
-                                       (case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOisInModule _indexOisMeta _indexOmtokenPos _indexOscopes) of
-                                        { ( _indexIglobalDefinitions,_indexIidentifier,_indexIisInModule,_indexIscopes,_indexIwarnings) ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _indexIglobalDefinitions
-                                                    {-# LINE 8692 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _lhsOglobalDefinitions ->
-                                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _indexIidentifier
-                                                     {-# LINE 8697 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOidentifier ->
-                                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _indexIisInModule
-                                                      {-# LINE 8702 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _lhsOisInModule ->
-                                               (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       True
-                                                       {-# LINE 8707 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _lhsOisSimpleExpression ->
-                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _indexImtokenPos
-                                                        {-# LINE 8712 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOmtokenPos ->
-                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _indexIscopes
-                                                         {-# LINE 8717 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOscopes ->
-                                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIvariableStyle
-                                                          {-# LINE 8722 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOvariableStyle ->
-                                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _indexIwarnings
-                                                           {-# LINE 8727 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOwarnings ->
-                                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_PFExprSuffix_DotIndex_1)) of
-            { ( sem_PFExprSuffix_1) ->
-            ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) })
--- PrefixExp ---------------------------------------------------
--- cata
-sem_PrefixExp :: PrefixExp ->
-                 T_PrefixExp
-sem_PrefixExp (PFVar _name _suffixes) =
-    (sem_PrefixExp_PFVar (sem_MToken _name) (sem_ExprSuffixList _suffixes))
-sem_PrefixExp (ExprVar _expr _suffixes) =
-    (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))
--- semantic domain
-type T_PrefixExp = ( PrefixExp,Bool,Region,(Maybe MToken),T_PrefixExp_1)
-type T_PrefixExp_1 = LintSettings ->
-                     String ->
-                     (M.Map String [Region]) ->
-                     Bool ->
-                     Bool ->
-                     Bool ->
-                     Bool ->
-                     Int ->
-                     Region ->
-                     Bool ->
-                     Int ->
-                     ([M.Map String (Bool, Region)]) ->
-                     Bool ->
-                     (Maybe MToken) ->
-                     DeterminedVariableStyle ->
-                     ( (M.Map String [Region]),String,Bool,Bool,(Maybe MToken),([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_PrefixExp = Inh_PrefixExp {config_Inh_PrefixExp :: LintSettings,funcName_Inh_PrefixExp :: String,globalDefinitions_Inh_PrefixExp :: (M.Map String [Region]),inParentheses_Inh_PrefixExp :: Bool,isInModule_Inh_PrefixExp :: Bool,isMeta_Inh_PrefixExp :: Bool,isNegation_Inh_PrefixExp :: Bool,loopLevel_Inh_PrefixExp :: Int,mtokenPos_Inh_PrefixExp :: Region,registerVarUse_Inh_PrefixExp :: Bool,scopeLevel_Inh_PrefixExp :: Int,scopes_Inh_PrefixExp :: ([M.Map String (Bool, Region)]),topLevel_Inh_PrefixExp :: Bool,varBeingDefined_Inh_PrefixExp :: (Maybe MToken),variableStyle_Inh_PrefixExp :: DeterminedVariableStyle}
-data Syn_PrefixExp = Syn_PrefixExp {copy_Syn_PrefixExp :: PrefixExp,globalDefinitions_Syn_PrefixExp :: (M.Map String [Region]),hasSuffixes_Syn_PrefixExp :: Bool,identifier_Syn_PrefixExp :: String,isInModule_Syn_PrefixExp :: Bool,isSimpleExpression_Syn_PrefixExp :: Bool,isSingleVar_Syn_PrefixExp :: (Maybe MToken),mtokenPos_Syn_PrefixExp :: Region,scopes_Syn_PrefixExp :: ([M.Map String (Bool, Region)]),varName_Syn_PrefixExp :: (Maybe MToken),variableStyle_Syn_PrefixExp :: DeterminedVariableStyle,warnings_Syn_PrefixExp :: ([String -> LintMessage])}
-wrap_PrefixExp :: T_PrefixExp ->
-                  Inh_PrefixExp ->
-                  Syn_PrefixExp
-wrap_PrefixExp sem (Inh_PrefixExp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =
-    (let ( _lhsOcopy,_lhsOhasSuffixes,_lhsOmtokenPos,_lhsOvarName,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle
-     in  (Syn_PrefixExp _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvarName _lhsOvariableStyle _lhsOwarnings))
-sem_PrefixExp_PFVar :: T_MToken ->
-                       T_ExprSuffixList ->
-                       T_PrefixExp
-sem_PrefixExp_PFVar name_ suffixes_ =
-    (case (suffixes_) of
-     { ( _suffixesIcopy,suffixes_1) ->
-         (case (name_) of
-          { ( _nameIcopy,_nameImtok,_nameImtokenPos,name_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      PFVar _nameIcopy _suffixesIcopy
-                      {-# LINE 8779 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 8784 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case (({-# LINE 507 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        not . null $ _suffixesIcopy
-                        {-# LINE 8789 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _lhsOhasSuffixes ->
-                 (case (({-# LINE 506 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                         _nameImtokenPos
-                         {-# LINE 8794 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                         )) of
-                  { _lhsOmtokenPos ->
-                  (case (({-# LINE 509 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                          Just _nameIcopy
-                          {-# LINE 8799 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                          )) of
-                   { _varName ->
-                   (case (({-# LINE 192 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                           _varName
-                           {-# LINE 8804 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                           )) of
-                    { _lhsOvarName ->
-                    (case ((let sem_PrefixExp_PFVar_1 :: T_PrefixExp_1
-                                sem_PrefixExp_PFVar_1 =
-                                    (\ _lhsIconfig
-                                       _lhsIfuncName
-                                       _lhsIglobalDefinitions
-                                       _lhsIinParentheses
-                                       _lhsIisInModule
-                                       _lhsIisMeta
-                                       _lhsIisNegation
-                                       _lhsIloopLevel
-                                       _lhsImtokenPos
-                                       _lhsIregisterVarUse
-                                       _lhsIscopeLevel
-                                       _lhsIscopes
-                                       _lhsItopLevel
-                                       _lhsIvarBeingDefined
-                                       _lhsIvariableStyle ->
-                                         (case (({-# LINE 513 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 if isJust _lhsIvarBeingDefined && _lhsIvarBeingDefined == _varName     then
-                                                   case _lhsIscopes of
-                                                     deepestScope : otherScopes -> deepestScope : registerVariable otherScopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse
-                                                     noScopes -> noScopes
-                                                 else
-                                                   registerVariable _lhsIscopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse
-                                                 {-# LINE 8831 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _foundVars ->
-                                          (case (({-# LINE 523 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _foundVars
-                                                  {-# LINE 8836 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _nameOscopes ->
-                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsImtokenPos
-                                                   {-# LINE 8841 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _nameOmtokenPos ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisMeta
-                                                    {-# LINE 8846 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _nameOisMeta ->
-                                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIisInModule
-                                                     {-# LINE 8851 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _nameOisInModule ->
-                                              (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIglobalDefinitions
-                                                      {-# LINE 8856 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _nameOglobalDefinitions ->
-                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIfuncName
-                                                       {-# LINE 8861 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _nameOfuncName ->
-                                                (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIconfig
-                                                        {-# LINE 8866 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _nameOconfig ->
-                                                 (case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOmtokenPos _nameOscopes) of
-                                                  { ( _nameIglobalDefinitions,_nameIidentifier,_nameIisInModule,_nameIscopes,_nameIwarnings) ->
-                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _nameIscopes
-                                                              {-# LINE 8873 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _suffixesOscopes ->
-                                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsIisMeta
-                                                               {-# LINE 8878 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _suffixesOisMeta ->
-                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _nameIisInModule
-                                                                {-# LINE 8883 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _suffixesOisInModule ->
-                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _nameIglobalDefinitions
-                                                                 {-# LINE 8888 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _suffixesOglobalDefinitions ->
-                                                          (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIconfig
-                                                                  {-# LINE 8893 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _suffixesOconfig ->
-                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIvariableStyle
-                                                                   {-# LINE 8898 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _suffixesOvariableStyle ->
-                                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIscopeLevel
-                                                                    {-# LINE 8903 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _suffixesOscopeLevel ->
-                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _nameImtokenPos
-                                                                     {-# LINE 8908 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _suffixesOmtokenPos ->
-                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIloopLevel
-                                                                      {-# LINE 8913 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _suffixesOloopLevel ->
-                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIfuncName
-                                                                       {-# LINE 8918 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _suffixesOfuncName ->
-                                                                (case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of
-                                                                 { ( _suffixesIglobalDefinitions,_suffixesIidentifier,_suffixesIisInModule,_suffixesIisSimpleExpression,_suffixesImtokenPos,_suffixesIscopes,_suffixesIvariableStyle,_suffixesIwarnings) ->
-                                                                     (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _suffixesIglobalDefinitions
-                                                                             {-# LINE 8925 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOglobalDefinitions ->
-                                                                      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              (const _nameIidentifier _suffixesIidentifier)
-                                                                              {-# LINE 8930 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOidentifier ->
-                                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _suffixesIisInModule
-                                                                               {-# LINE 8935 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOisInModule ->
-                                                                        (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _suffixesIisSimpleExpression
-                                                                                {-# LINE 8940 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOisSimpleExpression ->
-                                                                         (case (({-# LINE 508 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 if null _suffixesIcopy then _varName     else Nothing
-                                                                                 {-# LINE 8945 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOisSingleVar ->
-                                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _suffixesIscopes
-                                                                                  {-# LINE 8950 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOscopes ->
-                                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _suffixesIvariableStyle
-                                                                                   {-# LINE 8955 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOvariableStyle ->
-                                                                            (case (({-# LINE 529 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _nameIwarnings ++ _suffixesIwarnings
-                                                                                    {-# LINE 8960 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _warnings_augmented_syn ->
-                                                                             (case (({-# LINE 522 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     tokenLabel _nameIcopy
-                                                                                     {-# LINE 8965 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _name ->
-                                                                              (case (({-# LINE 529 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      if not (lint_beginnerMistakes _lhsIconfig) || _lhsIisMeta || _name     /= "self" then id else
-                                                                                        (:) $ warn _nameImtokenPos SelfInNonMeta
-                                                                                      {-# LINE 8971 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _warnings_augmented_f3 ->
-                                                                               (case (({-# LINE 529 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       if not (lint_beginnerMistakes _lhsIconfig) || not _lhsIisMeta || _name     /= "self" ||
-                                                                                       _lhsIfuncName /= "ENT" || _suffixesIidentifier /= "Entity" then id else
-                                                                                         (:) $ warn _nameImtokenPos SelfEntity
-                                                                                       {-# LINE 8978 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _warnings_augmented_f2 ->
-                                                                                (case (({-# LINE 529 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        if not (lint_beginnerMistakes _lhsIconfig) || not _lhsIisMeta || _name     /= "self" ||
-                                                                                        _lhsIfuncName /= "SWEP" || _suffixesIidentifier /= "Weapon" then id else
-                                                                                          (:) $ warn _nameImtokenPos SelfWeapon
-                                                                                        {-# LINE 8985 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _warnings_augmented_f1 ->
-                                                                                 (case (({-# LINE 529 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2, _warnings_augmented_f3]
-                                                                                         {-# LINE 8990 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _lhsOwarnings ->
-                                                                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                            in  sem_PrefixExp_PFVar_1)) of
-                     { ( sem_PrefixExp_1) ->
-                     ( _lhsOcopy,_lhsOhasSuffixes,_lhsOmtokenPos,_lhsOvarName,sem_PrefixExp_1) }) }) }) }) }) }) }) }) })
-sem_PrefixExp_ExprVar :: T_MExpr ->
-                         T_ExprSuffixList ->
-                         T_PrefixExp
-sem_PrefixExp_ExprVar expr_ suffixes_ =
-    (case (suffixes_) of
-     { ( _suffixesIcopy,suffixes_1) ->
-         (case (expr_) of
-          { ( _exprIcopy,_exprImtokenPos,expr_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      ExprVar _exprIcopy _suffixesIcopy
-                      {-# LINE 9007 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 9012 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case (({-# LINE 536 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        False
-                        {-# LINE 9017 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _lhsOhasSuffixes ->
-                 (case (({-# LINE 533 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                         _exprImtokenPos
-                         {-# LINE 9022 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                         )) of
-                  { _lhsOmtokenPos ->
-                  (case (({-# LINE 535 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                          Nothing
-                          {-# LINE 9027 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                          )) of
-                   { _lhsOvarName ->
-                   (case ((let sem_PrefixExp_ExprVar_1 :: T_PrefixExp_1
-                               sem_PrefixExp_ExprVar_1 =
-                                   (\ _lhsIconfig
-                                      _lhsIfuncName
-                                      _lhsIglobalDefinitions
-                                      _lhsIinParentheses
-                                      _lhsIisInModule
-                                      _lhsIisMeta
-                                      _lhsIisNegation
-                                      _lhsIloopLevel
-                                      _lhsImtokenPos
-                                      _lhsIregisterVarUse
-                                      _lhsIscopeLevel
-                                      _lhsIscopes
-                                      _lhsItopLevel
-                                      _lhsIvarBeingDefined
-                                      _lhsIvariableStyle ->
-                                        (case (({-# LINE 178 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIvarBeingDefined
-                                                {-# LINE 9049 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _exprOvarBeingDefined ->
-                                         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopes
-                                                 {-# LINE 9054 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _exprOscopes ->
-                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIisMeta
-                                                  {-# LINE 9059 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _exprOisMeta ->
-                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIconfig
-                                                   {-# LINE 9064 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _exprOconfig ->
-                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIvariableStyle
-                                                    {-# LINE 9069 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _exprOvariableStyle ->
-                                             (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIscopeLevel
-                                                     {-# LINE 9074 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _exprOscopeLevel ->
-                                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsImtokenPos
-                                                      {-# LINE 9079 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _exprOmtokenPos ->
-                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIloopLevel
-                                                       {-# LINE 9084 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _exprOloopLevel ->
-                                                (case (({-# LINE 169 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIisNegation
-                                                        {-# LINE 9089 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _exprOisNegation ->
-                                                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIisInModule
-                                                         {-# LINE 9094 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _exprOisInModule ->
-                                                  (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIglobalDefinitions
-                                                          {-# LINE 9099 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _exprOglobalDefinitions ->
-                                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lhsIfuncName
-                                                           {-# LINE 9104 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _exprOfuncName ->
-                                                    (case (({-# LINE 538 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            True
-                                                            {-# LINE 9109 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _exprOtopLevel ->
-                                                     (case (({-# LINE 537 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             True
-                                                             {-# LINE 9114 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _exprOinParentheses ->
-                                                      (case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of
-                                                       { ( _exprIglobalDefinitions,_exprIidentifier,_exprIisInModule,_exprIisSimpleExpression,_exprIisSingleVar,_exprIscopes,_exprIvariableStyle,_exprIwarnings) ->
-                                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _exprIscopes
-                                                                   {-# LINE 9121 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _suffixesOscopes ->
-                                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIisMeta
-                                                                    {-# LINE 9126 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _suffixesOisMeta ->
-                                                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _exprIisInModule
-                                                                     {-# LINE 9131 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _suffixesOisInModule ->
-                                                              (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _exprIglobalDefinitions
-                                                                      {-# LINE 9136 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _suffixesOglobalDefinitions ->
-                                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIconfig
-                                                                       {-# LINE 9141 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _suffixesOconfig ->
-                                                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _exprIvariableStyle
-                                                                        {-# LINE 9146 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _suffixesOvariableStyle ->
-                                                                 (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIscopeLevel
-                                                                         {-# LINE 9151 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _suffixesOscopeLevel ->
-                                                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _exprImtokenPos
-                                                                          {-# LINE 9156 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _suffixesOmtokenPos ->
-                                                                   (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _lhsIloopLevel
-                                                                           {-# LINE 9161 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _suffixesOloopLevel ->
-                                                                    (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            _lhsIfuncName
-                                                                            {-# LINE 9166 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _suffixesOfuncName ->
-                                                                     (case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of
-                                                                      { ( _suffixesIglobalDefinitions,_suffixesIidentifier,_suffixesIisInModule,_suffixesIisSimpleExpression,_suffixesImtokenPos,_suffixesIscopes,_suffixesIvariableStyle,_suffixesIwarnings) ->
-                                                                          (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _suffixesIglobalDefinitions
-                                                                                  {-# LINE 9173 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOglobalDefinitions ->
-                                                                           (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   (const _exprIidentifier _suffixesIidentifier)
-                                                                                   {-# LINE 9178 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOidentifier ->
-                                                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _suffixesIisInModule
-                                                                                    {-# LINE 9183 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOisInModule ->
-                                                                             (case (({-# LINE 186 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _exprIisSimpleExpression && _suffixesIisSimpleExpression
-                                                                                     {-# LINE 9188 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOisSimpleExpression ->
-                                                                              (case (({-# LINE 534 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      Nothing
-                                                                                      {-# LINE 9193 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOisSingleVar ->
-                                                                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _suffixesIscopes
-                                                                                       {-# LINE 9198 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _lhsOscopes ->
-                                                                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        _suffixesIvariableStyle
-                                                                                        {-# LINE 9203 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _lhsOvariableStyle ->
-                                                                                 (case (({-# LINE 539 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         _exprIwarnings ++ _suffixesIwarnings
-                                                                                         {-# LINE 9208 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _warnings_augmented_syn ->
-                                                                                  (case (({-# LINE 539 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          if lint_redundantParentheses _lhsIconfig && null _suffixesIcopy && (_lhsIinParentheses || (not _lhsItopLevel && _exprIisSimpleExpression))
-                                                                                          then (:) $ warn _lhsImtokenPos UnnecessaryParentheses
-                                                                                          else id
-                                                                                          {-# LINE 9215 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _warnings_augmented_f1 ->
-                                                                                   (case (({-# LINE 539 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                           {-# LINE 9220 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _lhsOwarnings ->
-                                                                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                           in  sem_PrefixExp_ExprVar_1)) of
-                    { ( sem_PrefixExp_1) ->
-                    ( _lhsOcopy,_lhsOhasSuffixes,_lhsOmtokenPos,_lhsOvarName,sem_PrefixExp_1) }) }) }) }) }) }) }) })
--- Region ------------------------------------------------------
--- cata
-sem_Region :: Region ->
-              T_Region
-sem_Region (Region _start _end) =
-    (sem_Region_Region _start _end)
--- semantic domain
-type T_Region = ( Region,String,([String -> LintMessage]))
-data Inh_Region = Inh_Region {}
-data Syn_Region = Syn_Region {copy_Syn_Region :: Region,identifier_Syn_Region :: String,warnings_Syn_Region :: ([String -> LintMessage])}
-wrap_Region :: T_Region ->
-               Inh_Region ->
-               Syn_Region
-wrap_Region sem (Inh_Region) =
-    (let ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) = sem
-     in  (Syn_Region _lhsOcopy _lhsOidentifier _lhsOwarnings))
-sem_Region_Region :: LineColPos ->
-                     LineColPos ->
-                     T_Region
-sem_Region_Region start_ end_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Region start_ end_
-            {-# LINE 9249 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 9254 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 9259 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 9264 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
--- Stat --------------------------------------------------------
--- cata
-sem_Stat :: Stat ->
-            T_Stat
-sem_Stat (Def _vars) =
-    (sem_Stat_Def (sem_VarsList _vars))
-sem_Stat (LocDef _vars) =
-    (sem_Stat_LocDef (sem_VarsList _vars))
-sem_Stat (AFuncCall _fn) =
-    (sem_Stat_AFuncCall (sem_PrefixExp _fn))
-sem_Stat (ALabel _lbl) =
-    (sem_Stat_ALabel (sem_MToken _lbl))
-sem_Stat (ABreak) =
-    (sem_Stat_ABreak)
-sem_Stat (AContinue) =
-    (sem_Stat_AContinue)
-sem_Stat (AGoto _lbl) =
-    (sem_Stat_AGoto (sem_MToken _lbl))
-sem_Stat (ADo _body) =
-    (sem_Stat_ADo (sem_Block _body))
-sem_Stat (AWhile _cond _body) =
-    (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))
-sem_Stat (ARepeat _body _cond) =
-    (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))
-sem_Stat (AIf _cond _body _elifs _els) =
-    (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))
-sem_Stat (ANFor _var _val _to _step _body) =
-    (sem_Stat_ANFor (sem_MToken _var) (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))
-sem_Stat (AGFor _vars _vals _body) =
-    (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))
-sem_Stat (AFunc _name _args _body) =
-    (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))
-sem_Stat (ALocFunc _name _args _body) =
-    (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))
--- semantic domain
-type T_Stat = ( Stat,T_Stat_1)
-type T_Stat_1 = LintSettings ->
-                String ->
-                (M.Map String [Region]) ->
-                Bool ->
-                Bool ->
-                Int ->
-                Region ->
-                Int ->
-                ([M.Map String (Bool, Region)]) ->
-                DeterminedVariableStyle ->
-                ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_Stat = Inh_Stat {config_Inh_Stat :: LintSettings,funcName_Inh_Stat :: String,globalDefinitions_Inh_Stat :: (M.Map String [Region]),isInModule_Inh_Stat :: Bool,isMeta_Inh_Stat :: Bool,loopLevel_Inh_Stat :: Int,mtokenPos_Inh_Stat :: Region,scopeLevel_Inh_Stat :: Int,scopes_Inh_Stat :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Stat :: DeterminedVariableStyle}
-data Syn_Stat = Syn_Stat {copy_Syn_Stat :: Stat,globalDefinitions_Syn_Stat :: (M.Map String [Region]),identifier_Syn_Stat :: String,isIfStatement_Syn_Stat :: Bool,isInModule_Syn_Stat :: Bool,mtokenPos_Syn_Stat :: Region,scopes_Syn_Stat :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Stat :: DeterminedVariableStyle,warnings_Syn_Stat :: ([String -> LintMessage])}
-wrap_Stat :: T_Stat ->
-             Inh_Stat ->
-             Syn_Stat
-wrap_Stat sem (Inh_Stat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_Stat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_Stat_Def :: T_VarsList ->
-                T_Stat
-sem_Stat_Def vars_ =
-    (case (vars_) of
-     { ( _varsIcopy,vars_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 Def _varsIcopy
-                 {-# LINE 9331 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 9336 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Stat_Def_1 :: T_Stat_1
-                       sem_Stat_Def_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 9353 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _varsOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 9358 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _varsOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 9363 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _varsOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 9368 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _varsOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 9373 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _varsOconfig ->
-                                     (case (({-# LINE 314 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             False
-                                             {-# LINE 9378 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _varsOlocalDefinition ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 9383 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _varsOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 9388 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _varsOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 9393 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _varsOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 9398 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _varsOloopLevel ->
-                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfuncName
-                                                  {-# LINE 9403 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _varsOfuncName ->
-                                           (case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of
-                                            { ( _varsIglobalDefinitions,_varsIidentifier,_varsIisInModule,_varsImtokenPos,_varsIscopes,_varsIvariableStyle,_varsIwarnings) ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _varsIglobalDefinitions
-                                                        {-# LINE 9410 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOglobalDefinitions ->
-                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _varsIidentifier
-                                                         {-# LINE 9415 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOidentifier ->
-                                                  (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 9420 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisIfStatement ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _varsIisInModule
-                                                           {-# LINE 9425 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOisInModule ->
-                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _varsImtokenPos
-                                                            {-# LINE 9430 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOmtokenPos ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _varsIscopes
-                                                             {-# LINE 9435 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOscopes ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _varsIvariableStyle
-                                                              {-# LINE 9440 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOvariableStyle ->
-                                                       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _varsIwarnings
-                                                               {-# LINE 9445 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOwarnings ->
-                                                        ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Stat_Def_1)) of
-            { ( sem_Stat_1) ->
-            ( _lhsOcopy,sem_Stat_1) }) }) }) })
-sem_Stat_LocDef :: T_VarsList ->
-                   T_Stat
-sem_Stat_LocDef vars_ =
-    (case (vars_) of
-     { ( _varsIcopy,vars_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 LocDef _varsIcopy
-                 {-# LINE 9459 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 9464 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Stat_LocDef_1 :: T_Stat_1
-                       sem_Stat_LocDef_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 9481 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _varsOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 9486 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _varsOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 9491 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _varsOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 9496 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _varsOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 9501 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _varsOconfig ->
-                                     (case (({-# LINE 317 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             True
-                                             {-# LINE 9506 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _varsOlocalDefinition ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 9511 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _varsOvariableStyle ->
-                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopeLevel
-                                               {-# LINE 9516 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _varsOscopeLevel ->
-                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsImtokenPos
-                                                {-# LINE 9521 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _varsOmtokenPos ->
-                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIloopLevel
-                                                 {-# LINE 9526 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _varsOloopLevel ->
-                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIfuncName
-                                                  {-# LINE 9531 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _varsOfuncName ->
-                                           (case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of
-                                            { ( _varsIglobalDefinitions,_varsIidentifier,_varsIisInModule,_varsImtokenPos,_varsIscopes,_varsIvariableStyle,_varsIwarnings) ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _varsIglobalDefinitions
-                                                        {-# LINE 9538 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOglobalDefinitions ->
-                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _varsIidentifier
-                                                         {-# LINE 9543 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOidentifier ->
-                                                  (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 9548 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisIfStatement ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _varsIisInModule
-                                                           {-# LINE 9553 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOisInModule ->
-                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _varsImtokenPos
-                                                            {-# LINE 9558 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOmtokenPos ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _varsIscopes
-                                                             {-# LINE 9563 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOscopes ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _varsIvariableStyle
-                                                              {-# LINE 9568 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOvariableStyle ->
-                                                       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _varsIwarnings
-                                                               {-# LINE 9573 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _lhsOwarnings ->
-                                                        ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Stat_LocDef_1)) of
-            { ( sem_Stat_1) ->
-            ( _lhsOcopy,sem_Stat_1) }) }) }) })
-sem_Stat_AFuncCall :: T_PrefixExp ->
-                      T_Stat
-sem_Stat_AFuncCall fn_ =
-    (case (fn_) of
-     { ( _fnIcopy,_fnIhasSuffixes,_fnImtokenPos,_fnIvarName,fn_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 AFuncCall _fnIcopy
-                 {-# LINE 9587 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 9592 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Stat_AFuncCall_1 :: T_Stat_1
-                       sem_Stat_AFuncCall_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 9609 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _fnOscopes ->
-                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisMeta
-                                         {-# LINE 9614 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _fnOisMeta ->
-                                  (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIisInModule
-                                          {-# LINE 9619 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _fnOisInModule ->
-                                   (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIglobalDefinitions
-                                           {-# LINE 9624 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _fnOglobalDefinitions ->
-                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIconfig
-                                            {-# LINE 9629 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _fnOconfig ->
-                                     (case (({-# LINE 323 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             Nothing
-                                             {-# LINE 9634 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _fnOvarBeingDefined ->
-                                      (case (({-# LINE 320 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              True
-                                              {-# LINE 9639 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _fnOregisterVarUse ->
-                                       (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIvariableStyle
-                                               {-# LINE 9644 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _fnOvariableStyle ->
-                                        (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopeLevel
-                                                {-# LINE 9649 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _fnOscopeLevel ->
-                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsImtokenPos
-                                                 {-# LINE 9654 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _fnOmtokenPos ->
-                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIloopLevel
-                                                  {-# LINE 9659 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _fnOloopLevel ->
-                                           (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIfuncName
-                                                   {-# LINE 9664 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _fnOfuncName ->
-                                            (case (({-# LINE 322 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    True
-                                                    {-# LINE 9669 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _fnOtopLevel ->
-                                             (case (({-# LINE 321 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     False
-                                                     {-# LINE 9674 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _fnOinParentheses ->
-                                              (case (({-# LINE 319 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      False
-                                                      {-# LINE 9679 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _fnOisNegation ->
-                                               (case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOinParentheses _fnOisInModule _fnOisMeta _fnOisNegation _fnOloopLevel _fnOmtokenPos _fnOregisterVarUse _fnOscopeLevel _fnOscopes _fnOtopLevel _fnOvarBeingDefined _fnOvariableStyle) of
-                                                { ( _fnIglobalDefinitions,_fnIidentifier,_fnIisInModule,_fnIisSimpleExpression,_fnIisSingleVar,_fnIscopes,_fnIvariableStyle,_fnIwarnings) ->
-                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _fnIglobalDefinitions
-                                                            {-# LINE 9686 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOglobalDefinitions ->
-                                                     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _fnIidentifier
-                                                             {-# LINE 9691 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOidentifier ->
-                                                      (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              False
-                                                              {-# LINE 9696 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOisIfStatement ->
-                                                       (case (({-# LINE 324 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               (tokenLabel <$> _fnIvarName) == Just "module"
-                                                               {-# LINE 9701 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _isModuleCall ->
-                                                        (case (({-# LINE 325 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIisInModule || _isModuleCall
-                                                                {-# LINE 9706 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _lhsOisInModule ->
-                                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _fnImtokenPos
-                                                                 {-# LINE 9711 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOmtokenPos ->
-                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _fnIscopes
-                                                                  {-# LINE 9716 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _lhsOscopes ->
-                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _fnIvariableStyle
-                                                                   {-# LINE 9721 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _lhsOvariableStyle ->
-                                                            (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _fnIwarnings
-                                                                    {-# LINE 9726 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _lhsOwarnings ->
-                                                             ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Stat_AFuncCall_1)) of
-            { ( sem_Stat_1) ->
-            ( _lhsOcopy,sem_Stat_1) }) }) }) })
-sem_Stat_ALabel :: T_MToken ->
-                   T_Stat
-sem_Stat_ALabel lbl_ =
-    (case (lbl_) of
-     { ( _lblIcopy,_lblImtok,_lblImtokenPos,lbl_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 ALabel _lblIcopy
-                 {-# LINE 9740 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 9745 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Stat_ALabel_1 :: T_Stat_1
-                       sem_Stat_ALabel_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIglobalDefinitions
-                                        {-# LINE 9762 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lblOglobalDefinitions ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 9767 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lblOscopes ->
-                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsImtokenPos
-                                          {-# LINE 9772 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lblOmtokenPos ->
-                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisMeta
-                                           {-# LINE 9777 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lblOisMeta ->
-                                    (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIisInModule
-                                            {-# LINE 9782 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _lblOisInModule ->
-                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfuncName
-                                             {-# LINE 9787 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _lblOfuncName ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 9792 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _lblOconfig ->
-                                       (case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of
-                                        { ( _lblIglobalDefinitions,_lblIidentifier,_lblIisInModule,_lblIscopes,_lblIwarnings) ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lblIglobalDefinitions
-                                                    {-# LINE 9799 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _lhsOglobalDefinitions ->
-                                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lblIidentifier
-                                                     {-# LINE 9804 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOidentifier ->
-                                              (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      False
-                                                      {-# LINE 9809 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _lhsOisIfStatement ->
-                                               (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lblIisInModule
-                                                       {-# LINE 9814 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _lhsOisInModule ->
-                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lblImtokenPos
-                                                        {-# LINE 9819 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOmtokenPos ->
-                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lblIscopes
-                                                         {-# LINE 9824 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOscopes ->
-                                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIvariableStyle
-                                                          {-# LINE 9829 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOvariableStyle ->
-                                                   (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lblIwarnings
-                                                           {-# LINE 9834 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOwarnings ->
-                                                    ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Stat_ALabel_1)) of
-            { ( sem_Stat_1) ->
-            ( _lhsOcopy,sem_Stat_1) }) }) }) })
-sem_Stat_ABreak :: T_Stat
-sem_Stat_ABreak =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ABreak
-            {-# LINE 9845 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 9850 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Stat_ABreak_1 :: T_Stat_1
-                  sem_Stat_ABreak_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 9867 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 9872 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     False
-                                     {-# LINE 9877 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisIfStatement ->
-                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsIisInModule
-                                      {-# LINE 9882 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisInModule ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 9887 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 9892 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 9897 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 9902 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_Stat_ABreak_1)) of
-       { ( sem_Stat_1) ->
-       ( _lhsOcopy,sem_Stat_1) }) }) })
-sem_Stat_AContinue :: T_Stat
-sem_Stat_AContinue =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AContinue
-            {-# LINE 9913 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 9918 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_Stat_AContinue_1 :: T_Stat_1
-                  sem_Stat_AContinue_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 9935 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 9940 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     False
-                                     {-# LINE 9945 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisIfStatement ->
-                              (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsIisInModule
-                                      {-# LINE 9950 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisInModule ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 9955 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 9960 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 9965 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 9970 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_Stat_AContinue_1)) of
-       { ( sem_Stat_1) ->
-       ( _lhsOcopy,sem_Stat_1) }) }) })
-sem_Stat_AGoto :: T_MToken ->
-                  T_Stat
-sem_Stat_AGoto lbl_ =
-    (case (lbl_) of
-     { ( _lblIcopy,_lblImtok,_lblImtokenPos,lbl_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 AGoto _lblIcopy
-                 {-# LINE 9984 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 9989 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Stat_AGoto_1 :: T_Stat_1
-                       sem_Stat_AGoto_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIglobalDefinitions
-                                        {-# LINE 10006 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lblOglobalDefinitions ->
-                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIscopes
-                                         {-# LINE 10011 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lblOscopes ->
-                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsImtokenPos
-                                          {-# LINE 10016 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lblOmtokenPos ->
-                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIisMeta
-                                           {-# LINE 10021 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _lblOisMeta ->
-                                    (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            _lhsIisInModule
-                                            {-# LINE 10026 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _lblOisInModule ->
-                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIfuncName
-                                             {-# LINE 10031 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _lblOfuncName ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 10036 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _lblOconfig ->
-                                       (case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of
-                                        { ( _lblIglobalDefinitions,_lblIidentifier,_lblIisInModule,_lblIscopes,_lblIwarnings) ->
-                                            (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lblIglobalDefinitions
-                                                    {-# LINE 10043 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _lhsOglobalDefinitions ->
-                                             (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lblIidentifier
-                                                     {-# LINE 10048 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _lhsOidentifier ->
-                                              (case (({-# LINE 208 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      False
-                                                      {-# LINE 10053 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _lhsOisIfStatement ->
-                                               (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lblIisInModule
-                                                       {-# LINE 10058 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _lhsOisInModule ->
-                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lblImtokenPos
-                                                        {-# LINE 10063 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOmtokenPos ->
-                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lblIscopes
-                                                         {-# LINE 10068 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOscopes ->
-                                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIvariableStyle
-                                                          {-# LINE 10073 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOvariableStyle ->
-                                                   (case (({-# LINE 330 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lblIwarnings
-                                                           {-# LINE 10078 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _warnings_augmented_syn ->
-                                                    (case (({-# LINE 330 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            if not (lint_gotos _lhsIconfig) || _lhsIloopLevel >= 2 then id else
-                                                              (:) $ warn _lblImtokenPos AvoidGoto
-                                                            {-# LINE 10084 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _warnings_augmented_f1 ->
-                                                     (case (({-# LINE 330 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                             {-# LINE 10089 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOwarnings ->
-                                                      ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Stat_AGoto_1)) of
-            { ( sem_Stat_1) ->
-            ( _lhsOcopy,sem_Stat_1) }) }) }) })
-sem_Stat_ADo :: T_Block ->
-                T_Stat
-sem_Stat_ADo body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                 ADo _bodyIcopy
-                 {-# LINE 10103 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                 )) of
-          { _copy ->
-          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                  _copy
-                  {-# LINE 10108 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                  )) of
-           { _lhsOcopy ->
-           (case ((let sem_Stat_ADo_1 :: T_Stat_1
-                       sem_Stat_ADo_1 =
-                           (\ _lhsIconfig
-                              _lhsIfuncName
-                              _lhsIglobalDefinitions
-                              _lhsIisInModule
-                              _lhsIisMeta
-                              _lhsIloopLevel
-                              _lhsImtokenPos
-                              _lhsIscopeLevel
-                              _lhsIscopes
-                              _lhsIvariableStyle ->
-                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIisMeta
-                                        {-# LINE 10125 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _bodyOisMeta ->
-                                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIisInModule
-                                         {-# LINE 10130 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _bodyOisInModule ->
-                                  (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          _lhsIglobalDefinitions
-                                          {-# LINE 10135 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _bodyOglobalDefinitions ->
-                                   (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                           _lhsIconfig
-                                           {-# LINE 10140 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                           )) of
-                                    { _bodyOconfig ->
-                                    (case (({-# LINE 334 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                            M.empty : _lhsIscopes
-                                            {-# LINE 10145 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                            )) of
-                                     { _bodyOscopes ->
-                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIvariableStyle
-                                             {-# LINE 10150 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _bodyOvariableStyle ->
-                                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIscopeLevel
-                                              {-# LINE 10155 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _bodyOscopeLevel ->
-                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsImtokenPos
-                                               {-# LINE 10160 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _bodyOmtokenPos ->
-                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIloopLevel
-                                                {-# LINE 10165 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _bodyOloopLevel ->
-                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIfuncName
-                                                 {-# LINE 10170 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _bodyOfuncName ->
-                                          (case (({-# LINE 335 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  False
-                                                  {-# LINE 10175 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _bodyOisRepeat ->
-                                           (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                            { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _bodyIglobalDefinitions
-                                                        {-# LINE 10182 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOglobalDefinitions ->
-                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _bodyIidentifier
-                                                         {-# LINE 10187 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOidentifier ->
-                                                  (case (({-# LINE 333 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 10192 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOisIfStatement ->
-                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _bodyIisInModule
-                                                           {-# LINE 10197 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOisInModule ->
-                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _bodyImtokenPos
-                                                            {-# LINE 10202 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _lhsOmtokenPos ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _bodyIscopes
-                                                             {-# LINE 10207 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _lhsOscopes ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _bodyIvariableStyle
-                                                              {-# LINE 10212 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _lhsOvariableStyle ->
-                                                       (case (({-# LINE 336 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _bodyIwarnings
-                                                               {-# LINE 10217 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _warnings_augmented_syn ->
-                                                        (case (({-# LINE 336 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
-                                                                  (:) $ warn _lhsImtokenPos EmptyDoBlock
-                                                                {-# LINE 10223 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _warnings_augmented_f1 ->
-                                                         (case (({-# LINE 336 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                 {-# LINE 10228 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _lhsOwarnings ->
-                                                          ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                   in  sem_Stat_ADo_1)) of
-            { ( sem_Stat_1) ->
-            ( _lhsOcopy,sem_Stat_1) }) }) }) })
-sem_Stat_AWhile :: T_MExpr ->
-                   T_Block ->
-                   T_Stat
-sem_Stat_AWhile cond_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (cond_) of
-          { ( _condIcopy,_condImtokenPos,cond_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      AWhile _condIcopy _bodyIcopy
-                      {-# LINE 10245 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 10250 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Stat_AWhile_1 :: T_Stat_1
-                            sem_Stat_AWhile_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisMeta
-                                             {-# LINE 10267 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _bodyOisMeta ->
-                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisInModule
-                                              {-# LINE 10272 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _condOisInModule ->
-                                       (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIvariableStyle
-                                               {-# LINE 10277 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _condOvariableStyle ->
-                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopes
-                                                {-# LINE 10282 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _condOscopes ->
-                                         (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopeLevel
-                                                 {-# LINE 10287 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _condOscopeLevel ->
-                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsImtokenPos
-                                                  {-# LINE 10292 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _condOmtokenPos ->
-                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIloopLevel
-                                                   {-# LINE 10297 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _condOloopLevel ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisMeta
-                                                    {-# LINE 10302 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _condOisMeta ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 10307 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _condOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 10312 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _condOfuncName ->
-                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIconfig
-                                                       {-# LINE 10317 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _condOconfig ->
-                                                (case (({-# LINE 344 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        Nothing
-                                                        {-# LINE 10322 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _condOvarBeingDefined ->
-                                                 (case (({-# LINE 343 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         True
-                                                         {-# LINE 10327 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _condOtopLevel ->
-                                                  (case (({-# LINE 342 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          False
-                                                          {-# LINE 10332 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _condOinParentheses ->
-                                                   (case (({-# LINE 341 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           False
-                                                           {-# LINE 10337 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _condOisNegation ->
-                                                    (case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of
-                                                     { ( _condIglobalDefinitions,_condIidentifier,_condIisInModule,_condIisSimpleExpression,_condIisSingleVar,_condIscopes,_condIvariableStyle,_condIwarnings) ->
-                                                         (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _condIisInModule
-                                                                 {-# LINE 10344 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _bodyOisInModule ->
-                                                          (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _condIglobalDefinitions
-                                                                  {-# LINE 10349 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _bodyOglobalDefinitions ->
-                                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIconfig
-                                                                   {-# LINE 10354 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _bodyOconfig ->
-                                                            (case (({-# LINE 346 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    M.empty : _condIscopes
-                                                                    {-# LINE 10359 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _bodyOscopes ->
-                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _condIvariableStyle
-                                                                     {-# LINE 10364 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _bodyOvariableStyle ->
-                                                              (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIscopeLevel
-                                                                      {-# LINE 10369 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _bodyOscopeLevel ->
-                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _condImtokenPos
-                                                                       {-# LINE 10374 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _bodyOmtokenPos ->
-                                                                (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _lhsIfuncName
-                                                                        {-# LINE 10379 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _bodyOfuncName ->
-                                                                 (case (({-# LINE 345 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         False
-                                                                         {-# LINE 10384 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _bodyOisRepeat ->
-                                                                  (case (({-# LINE 340 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _lhsIloopLevel + 1
-                                                                          {-# LINE 10389 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _bodyOloopLevel ->
-                                                                   (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                                    { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _bodyIglobalDefinitions
-                                                                                {-# LINE 10396 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOglobalDefinitions ->
-                                                                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 (const _condIidentifier _bodyIidentifier)
-                                                                                 {-# LINE 10401 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOidentifier ->
-                                                                          (case (({-# LINE 339 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  False
-                                                                                  {-# LINE 10406 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisIfStatement ->
-                                                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _bodyIisInModule
-                                                                                   {-# LINE 10411 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOisInModule ->
-                                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _bodyImtokenPos
-                                                                                    {-# LINE 10416 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOmtokenPos ->
-                                                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _bodyIscopes
-                                                                                     {-# LINE 10421 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOscopes ->
-                                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _bodyIvariableStyle
-                                                                                      {-# LINE 10426 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOvariableStyle ->
-                                                                               (case (({-# LINE 347 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _condIwarnings ++ _bodyIwarnings
-                                                                                       {-# LINE 10431 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _warnings_augmented_syn ->
-                                                                                (case (({-# LINE 347 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
-                                                                                          (:) $ warn _lhsImtokenPos EmptyWhileLoop
-                                                                                        {-# LINE 10437 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _warnings_augmented_f1 ->
-                                                                                 (case (({-# LINE 347 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                         {-# LINE 10442 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _lhsOwarnings ->
-                                                                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Stat_AWhile_1)) of
-                 { ( sem_Stat_1) ->
-                 ( _lhsOcopy,sem_Stat_1) }) }) }) }) })
-sem_Stat_ARepeat :: T_Block ->
-                    T_MExpr ->
-                    T_Stat
-sem_Stat_ARepeat body_ cond_ =
-    (case (cond_) of
-     { ( _condIcopy,_condImtokenPos,cond_1) ->
-         (case (body_) of
-          { ( _bodyIcopy,body_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      ARepeat _bodyIcopy _condIcopy
-                      {-# LINE 10459 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 10464 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Stat_ARepeat_1 :: T_Stat_1
-                            sem_Stat_ARepeat_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisMeta
-                                             {-# LINE 10481 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _bodyOisMeta ->
-                                      (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIconfig
-                                              {-# LINE 10486 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _bodyOconfig ->
-                                       (case (({-# LINE 358 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               M.empty : _lhsIscopes
-                                               {-# LINE 10491 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _bodyOscopes ->
-                                        (case (({-# LINE 357 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                True
-                                                {-# LINE 10496 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _bodyOisRepeat ->
-                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIvariableStyle
-                                                 {-# LINE 10501 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _bodyOvariableStyle ->
-                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIscopeLevel
-                                                  {-# LINE 10506 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _bodyOscopeLevel ->
-                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsImtokenPos
-                                                   {-# LINE 10511 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _bodyOmtokenPos ->
-                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisInModule
-                                                    {-# LINE 10516 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _bodyOisInModule ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 10521 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _bodyOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 10526 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _bodyOfuncName ->
-                                               (case (({-# LINE 352 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIloopLevel + 1
-                                                       {-# LINE 10531 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _bodyOloopLevel ->
-                                                (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                 { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _bodyIscopes
-                                                             {-# LINE 10538 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _condOscopes ->
-                                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _lhsIisMeta
-                                                              {-# LINE 10543 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _condOisMeta ->
-                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _bodyIisInModule
-                                                               {-# LINE 10548 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _condOisInModule ->
-                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _bodyIglobalDefinitions
-                                                                {-# LINE 10553 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _condOglobalDefinitions ->
-                                                         (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIconfig
-                                                                 {-# LINE 10558 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _condOconfig ->
-                                                          (case (({-# LINE 356 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  Nothing
-                                                                  {-# LINE 10563 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _condOvarBeingDefined ->
-                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _bodyIvariableStyle
-                                                                   {-# LINE 10568 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _condOvariableStyle ->
-                                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIscopeLevel
-                                                                    {-# LINE 10573 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _condOscopeLevel ->
-                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _bodyImtokenPos
-                                                                     {-# LINE 10578 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _condOmtokenPos ->
-                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIloopLevel
-                                                                      {-# LINE 10583 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _condOloopLevel ->
-                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIfuncName
-                                                                       {-# LINE 10588 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _condOfuncName ->
-                                                                (case (({-# LINE 355 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        True
-                                                                        {-# LINE 10593 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _condOtopLevel ->
-                                                                 (case (({-# LINE 354 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         False
-                                                                         {-# LINE 10598 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _condOinParentheses ->
-                                                                  (case (({-# LINE 353 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          False
-                                                                          {-# LINE 10603 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _condOisNegation ->
-                                                                   (case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of
-                                                                    { ( _condIglobalDefinitions,_condIidentifier,_condIisInModule,_condIisSimpleExpression,_condIisSingleVar,_condIscopes,_condIvariableStyle,_condIwarnings) ->
-                                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _condIglobalDefinitions
-                                                                                {-# LINE 10610 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOglobalDefinitions ->
-                                                                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 (const _bodyIidentifier _condIidentifier)
-                                                                                 {-# LINE 10615 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOidentifier ->
-                                                                          (case (({-# LINE 351 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  False
-                                                                                  {-# LINE 10620 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisIfStatement ->
-                                                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _condIisInModule
-                                                                                   {-# LINE 10625 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOisInModule ->
-                                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _condImtokenPos
-                                                                                    {-# LINE 10630 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOmtokenPos ->
-                                                                             (case (({-# LINE 359 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     tail _condIscopes
-                                                                                     {-# LINE 10635 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOscopes ->
-                                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _condIvariableStyle
-                                                                                      {-# LINE 10640 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOvariableStyle ->
-                                                                               (case (({-# LINE 360 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _bodyIwarnings ++ _condIwarnings
-                                                                                       {-# LINE 10645 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _warnings_augmented_syn ->
-                                                                                (case (({-# LINE 360 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
-                                                                                          (:) $ warn _lhsImtokenPos EmptyRepeat
-                                                                                        {-# LINE 10651 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _warnings_augmented_f1 ->
-                                                                                 (case (({-# LINE 360 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                         {-# LINE 10656 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _lhsOwarnings ->
-                                                                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Stat_ARepeat_1)) of
-                 { ( sem_Stat_1) ->
-                 ( _lhsOcopy,sem_Stat_1) }) }) }) }) })
-sem_Stat_AIf :: T_MExpr ->
-                T_Block ->
-                T_ElseIfList ->
-                T_Else ->
-                T_Stat
-sem_Stat_AIf cond_ body_ elifs_ els_ =
-    (case (els_) of
-     { ( _elsIcopy,els_1) ->
-         (case (elifs_) of
-          { ( _elifsIcopy,elifs_1) ->
-              (case (body_) of
-               { ( _bodyIcopy,body_1) ->
-                   (case (cond_) of
-                    { ( _condIcopy,_condImtokenPos,cond_1) ->
-                        (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy
-                                {-# LINE 10679 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                )) of
-                         { _copy ->
-                         (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                 _copy
-                                 {-# LINE 10684 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                 )) of
-                          { _lhsOcopy ->
-                          (case ((let sem_Stat_AIf_1 :: T_Stat_1
-                                      sem_Stat_AIf_1 =
-                                          (\ _lhsIconfig
-                                             _lhsIfuncName
-                                             _lhsIglobalDefinitions
-                                             _lhsIisInModule
-                                             _lhsIisMeta
-                                             _lhsIloopLevel
-                                             _lhsImtokenPos
-                                             _lhsIscopeLevel
-                                             _lhsIscopes
-                                             _lhsIvariableStyle ->
-                                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIisMeta
-                                                       {-# LINE 10701 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _bodyOisMeta ->
-                                                (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        _lhsIconfig
-                                                        {-# LINE 10706 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _bodyOconfig ->
-                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         _lhsIscopes
-                                                         {-# LINE 10711 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _condOscopes ->
-                                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                          _lhsIisMeta
-                                                          {-# LINE 10716 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                          )) of
-                                                   { _condOisMeta ->
-                                                   (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                           _lhsIconfig
-                                                           {-# LINE 10721 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                           )) of
-                                                    { _condOconfig ->
-                                                    (case (({-# LINE 373 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            False
-                                                            {-# LINE 10726 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _bodyOisRepeat ->
-                                                     (case (({-# LINE 371 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             Nothing
-                                                             {-# LINE 10731 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _condOvarBeingDefined ->
-                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _lhsIvariableStyle
-                                                              {-# LINE 10736 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _condOvariableStyle ->
-                                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsIscopeLevel
-                                                               {-# LINE 10741 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _condOscopeLevel ->
-                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsImtokenPos
-                                                                {-# LINE 10746 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _condOmtokenPos ->
-                                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIloopLevel
-                                                                 {-# LINE 10751 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _condOloopLevel ->
-                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIisInModule
-                                                                  {-# LINE 10756 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _condOisInModule ->
-                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIglobalDefinitions
-                                                                   {-# LINE 10761 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _condOglobalDefinitions ->
-                                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIfuncName
-                                                                    {-# LINE 10766 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _condOfuncName ->
-                                                             (case (({-# LINE 370 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     True
-                                                                     {-# LINE 10771 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _condOtopLevel ->
-                                                              (case (({-# LINE 369 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      False
-                                                                      {-# LINE 10776 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _condOinParentheses ->
-                                                               (case (({-# LINE 368 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       False
-                                                                       {-# LINE 10781 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _condOisNegation ->
-                                                                (case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of
-                                                                 { ( _condIglobalDefinitions,_condIidentifier,_condIisInModule,_condIisSimpleExpression,_condIisSingleVar,_condIscopes,_condIvariableStyle,_condIwarnings) ->
-                                                                     (case (({-# LINE 372 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             M.empty : _condIscopes
-                                                                             {-# LINE 10788 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _bodyOscopes ->
-                                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _condIvariableStyle
-                                                                              {-# LINE 10793 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _bodyOvariableStyle ->
-                                                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _lhsIscopeLevel
-                                                                               {-# LINE 10798 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _bodyOscopeLevel ->
-                                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _condImtokenPos
-                                                                                {-# LINE 10803 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _bodyOmtokenPos ->
-                                                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _lhsIloopLevel
-                                                                                 {-# LINE 10808 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _bodyOloopLevel ->
-                                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _condIisInModule
-                                                                                  {-# LINE 10813 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _bodyOisInModule ->
-                                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _condIglobalDefinitions
-                                                                                   {-# LINE 10818 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _bodyOglobalDefinitions ->
-                                                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _lhsIfuncName
-                                                                                    {-# LINE 10823 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _bodyOfuncName ->
-                                                                             (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                                              { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          _bodyIscopes
-                                                                                          {-# LINE 10830 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _elifsOscopes ->
-                                                                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           _lhsIisMeta
-                                                                                           {-# LINE 10835 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _elifsOisMeta ->
-                                                                                    (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            _lhsIconfig
-                                                                                            {-# LINE 10840 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _elifsOconfig ->
-                                                                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                             _bodyIvariableStyle
-                                                                                             {-# LINE 10845 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                             )) of
-                                                                                      { _elifsOvariableStyle ->
-                                                                                      (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                              _lhsIscopeLevel
-                                                                                              {-# LINE 10850 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                              )) of
-                                                                                       { _elifsOscopeLevel ->
-                                                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                               _lhsIloopLevel
-                                                                                               {-# LINE 10855 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                               )) of
-                                                                                        { _elifsOloopLevel ->
-                                                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                _bodyIisInModule
-                                                                                                {-# LINE 10860 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                )) of
-                                                                                         { _elifsOisInModule ->
-                                                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                 _bodyIglobalDefinitions
-                                                                                                 {-# LINE 10865 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                 )) of
-                                                                                          { _elifsOglobalDefinitions ->
-                                                                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                  _lhsIfuncName
-                                                                                                  {-# LINE 10870 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                  )) of
-                                                                                           { _elifsOfuncName ->
-                                                                                           (case (({-# LINE 374 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                   _lhsImtokenPos
-                                                                                                   {-# LINE 10875 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                   )) of
-                                                                                            { _elifsOmtokenPos ->
-                                                                                            (case (elifs_1 _elifsOconfig _elifsOfuncName _elifsOglobalDefinitions _elifsOisInModule _elifsOisMeta _elifsOloopLevel _elifsOmtokenPos _elifsOscopeLevel _elifsOscopes _elifsOvariableStyle) of
-                                                                                             { ( _elifsIelseExists,_elifsIglobalDefinitions,_elifsIidentifier,_elifsIisInModule,_elifsImtokenPos,_elifsIscopes,_elifsIvariableStyle,_elifsIwarnings) ->
-                                                                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                         _elifsIscopes
-                                                                                                         {-# LINE 10882 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                         )) of
-                                                                                                  { _elsOscopes ->
-                                                                                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                          _lhsIisMeta
-                                                                                                          {-# LINE 10887 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                          )) of
-                                                                                                   { _elsOisMeta ->
-                                                                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                           _elifsIisInModule
-                                                                                                           {-# LINE 10892 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                           )) of
-                                                                                                    { _elsOisInModule ->
-                                                                                                    (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                            _elifsIglobalDefinitions
-                                                                                                            {-# LINE 10897 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                            )) of
-                                                                                                     { _elsOglobalDefinitions ->
-                                                                                                     (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                             _lhsIconfig
-                                                                                                             {-# LINE 10902 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                             )) of
-                                                                                                      { _elsOconfig ->
-                                                                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                              _elifsIvariableStyle
-                                                                                                              {-# LINE 10907 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                              )) of
-                                                                                                       { _elsOvariableStyle ->
-                                                                                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                               _lhsIscopeLevel
-                                                                                                               {-# LINE 10912 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                               )) of
-                                                                                                        { _elsOscopeLevel ->
-                                                                                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                _lhsIloopLevel
-                                                                                                                {-# LINE 10917 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                )) of
-                                                                                                         { _elsOloopLevel ->
-                                                                                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                 _lhsIfuncName
-                                                                                                                 {-# LINE 10922 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                 )) of
-                                                                                                          { _elsOfuncName ->
-                                                                                                          (case (({-# LINE 375 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                  _lhsImtokenPos
-                                                                                                                  {-# LINE 10927 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                  )) of
-                                                                                                           { _elsOmtokenPos ->
-                                                                                                           (case (els_1 _elsOconfig _elsOfuncName _elsOglobalDefinitions _elsOisInModule _elsOisMeta _elsOloopLevel _elsOmtokenPos _elsOscopeLevel _elsOscopes _elsOvariableStyle) of
-                                                                                                            { ( _elsIelseExists,_elsIglobalDefinitions,_elsIidentifier,_elsIisInModule,_elsImtokenPos,_elsIscopes,_elsIvariableStyle,_elsIwarnings) ->
-                                                                                                                (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                        _elsIglobalDefinitions
-                                                                                                                        {-# LINE 10934 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                        )) of
-                                                                                                                 { _lhsOglobalDefinitions ->
-                                                                                                                 (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                         (const _condIidentifier (const _bodyIidentifier (const _elifsIidentifier _elsIidentifier)))
-                                                                                                                         {-# LINE 10939 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                         )) of
-                                                                                                                  { _lhsOidentifier ->
-                                                                                                                  (case (({-# LINE 367 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                          not _elifsIelseExists && not _elsIelseExists
-                                                                                                                          {-# LINE 10944 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                          )) of
-                                                                                                                   { _lhsOisIfStatement ->
-                                                                                                                   (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                           _elsIisInModule
-                                                                                                                           {-# LINE 10949 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                           )) of
-                                                                                                                    { _lhsOisInModule ->
-                                                                                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                            _elsImtokenPos
-                                                                                                                            {-# LINE 10954 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                            )) of
-                                                                                                                     { _lhsOmtokenPos ->
-                                                                                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                             _elsIscopes
-                                                                                                                             {-# LINE 10959 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                             )) of
-                                                                                                                      { _lhsOscopes ->
-                                                                                                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                              _elsIvariableStyle
-                                                                                                                              {-# LINE 10964 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                              )) of
-                                                                                                                       { _lhsOvariableStyle ->
-                                                                                                                       (case (({-# LINE 383 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                               _condIwarnings ++ _bodyIwarnings ++ _elifsIwarnings ++ _elsIwarnings
-                                                                                                                               {-# LINE 10969 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                               )) of
-                                                                                                                        { _warnings_augmented_syn ->
-                                                                                                                        (case (({-# LINE 376 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                Region (rgStart _lhsImtokenPos) (customAdvanceToken (rgStart _lhsImtokenPos) If)
-                                                                                                                                {-# LINE 10974 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                )) of
-                                                                                                                         { _keywordPos ->
-                                                                                                                         (case (({-# LINE 383 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                 if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
-                                                                                                                                   (:) $ warn _keywordPos     EmptyIf
-                                                                                                                                 {-# LINE 10980 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                 )) of
-                                                                                                                          { _warnings_augmented_f2 ->
-                                                                                                                          (case (({-# LINE 383 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                  if not (lint_redundantIfStatements _lhsIconfig) || _bodyIstatementCount /= 1 || not _bodyIisIfStatement || _elifsIelseExists || _elsIelseExists then id else
-                                                                                                                                    (:) $ warn _bodyImtokenPos DoubleIf
-                                                                                                                                  {-# LINE 10986 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                  )) of
-                                                                                                                           { _warnings_augmented_f1 ->
-                                                                                                                           (case (({-# LINE 383 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                   foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
-                                                                                                                                   {-# LINE 10991 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                   )) of
-                                                                                                                            { _lhsOwarnings ->
-                                                                                                                            ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                                  in  sem_Stat_AIf_1)) of
-                           { ( sem_Stat_1) ->
-                           ( _lhsOcopy,sem_Stat_1) }) }) }) }) }) }) })
-sem_Stat_ANFor :: T_MToken ->
-                  T_MExpr ->
-                  T_MExpr ->
-                  T_MExpr ->
-                  T_Block ->
-                  T_Stat
-sem_Stat_ANFor var_ val_ to_ step_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (step_) of
-          { ( _stepIcopy,_stepImtokenPos,step_1) ->
-              (case (to_) of
-               { ( _toIcopy,_toImtokenPos,to_1) ->
-                   (case (val_) of
-                    { ( _valIcopy,_valImtokenPos,val_1) ->
-                        (case (var_) of
-                         { ( _varIcopy,_varImtok,_varImtokenPos,var_1) ->
-                             (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     ANFor _varIcopy _valIcopy _toIcopy _stepIcopy _bodyIcopy
-                                     {-# LINE 11017 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _copy ->
-                              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _copy
-                                      {-# LINE 11022 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOcopy ->
-                               (case ((let sem_Stat_ANFor_1 :: T_Stat_1
-                                           sem_Stat_ANFor_1 =
-                                               (\ _lhsIconfig
-                                                  _lhsIfuncName
-                                                  _lhsIglobalDefinitions
-                                                  _lhsIisInModule
-                                                  _lhsIisMeta
-                                                  _lhsIloopLevel
-                                                  _lhsImtokenPos
-                                                  _lhsIscopeLevel
-                                                  _lhsIscopes
-                                                  _lhsIvariableStyle ->
-                                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                            _lhsIisMeta
-                                                            {-# LINE 11039 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                            )) of
-                                                     { _bodyOisMeta ->
-                                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _lhsIisInModule
-                                                             {-# LINE 11044 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _varOisInModule ->
-                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _lhsIscopes
-                                                              {-# LINE 11049 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _varOscopes ->
-                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsImtokenPos
-                                                               {-# LINE 11054 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _varOmtokenPos ->
-                                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _lhsIisMeta
-                                                                {-# LINE 11059 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _varOisMeta ->
-                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIglobalDefinitions
-                                                                 {-# LINE 11064 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _varOglobalDefinitions ->
-                                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIfuncName
-                                                                  {-# LINE 11069 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _varOfuncName ->
-                                                           (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _lhsIconfig
-                                                                   {-# LINE 11074 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _varOconfig ->
-                                                            (case (var_1 _varOconfig _varOfuncName _varOglobalDefinitions _varOisInModule _varOisMeta _varOmtokenPos _varOscopes) of
-                                                             { ( _varIglobalDefinitions,_varIidentifier,_varIisInModule,_varIscopes,_varIwarnings) ->
-                                                                 (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _varIisInModule
-                                                                         {-# LINE 11081 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _valOisInModule ->
-                                                                  (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          _lhsIvariableStyle
-                                                                          {-# LINE 11086 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _valOvariableStyle ->
-                                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                           _varIscopes
-                                                                           {-# LINE 11091 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                           )) of
-                                                                    { _valOscopes ->
-                                                                    (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                            _lhsIscopeLevel
-                                                                            {-# LINE 11096 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                            )) of
-                                                                     { _valOscopeLevel ->
-                                                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _varImtokenPos
-                                                                             {-# LINE 11101 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _valOmtokenPos ->
-                                                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              _lhsIloopLevel
-                                                                              {-# LINE 11106 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _valOloopLevel ->
-                                                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _lhsIisMeta
-                                                                               {-# LINE 11111 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _valOisMeta ->
-                                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _varIglobalDefinitions
-                                                                                {-# LINE 11116 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _valOglobalDefinitions ->
-                                                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _lhsIfuncName
-                                                                                 {-# LINE 11121 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _valOfuncName ->
-                                                                          (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _lhsIconfig
-                                                                                  {-# LINE 11126 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _valOconfig ->
-                                                                           (case (({-# LINE 391 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   Nothing
-                                                                                   {-# LINE 11131 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _valOvarBeingDefined ->
-                                                                            (case (({-# LINE 390 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    True
-                                                                                    {-# LINE 11136 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _valOtopLevel ->
-                                                                             (case (({-# LINE 389 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     False
-                                                                                     {-# LINE 11141 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _valOinParentheses ->
-                                                                              (case (({-# LINE 388 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      False
-                                                                                      {-# LINE 11146 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _valOisNegation ->
-                                                                               (case (val_1 _valOconfig _valOfuncName _valOglobalDefinitions _valOinParentheses _valOisInModule _valOisMeta _valOisNegation _valOloopLevel _valOmtokenPos _valOscopeLevel _valOscopes _valOtopLevel _valOvarBeingDefined _valOvariableStyle) of
-                                                                                { ( _valIglobalDefinitions,_valIidentifier,_valIisInModule,_valIisSimpleExpression,_valIisSingleVar,_valIscopes,_valIvariableStyle,_valIwarnings) ->
-                                                                                    (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            _valIisInModule
-                                                                                            {-# LINE 11153 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _toOisInModule ->
-                                                                                     (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                             _valIvariableStyle
-                                                                                             {-# LINE 11158 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                             )) of
-                                                                                      { _toOvariableStyle ->
-                                                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                              _valIscopes
-                                                                                              {-# LINE 11163 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                              )) of
-                                                                                       { _toOscopes ->
-                                                                                       (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                               _lhsIscopeLevel
-                                                                                               {-# LINE 11168 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                               )) of
-                                                                                        { _toOscopeLevel ->
-                                                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                _valImtokenPos
-                                                                                                {-# LINE 11173 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                )) of
-                                                                                         { _toOmtokenPos ->
-                                                                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                 _lhsIloopLevel
-                                                                                                 {-# LINE 11178 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                 )) of
-                                                                                          { _toOloopLevel ->
-                                                                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                  _lhsIisMeta
-                                                                                                  {-# LINE 11183 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                  )) of
-                                                                                           { _toOisMeta ->
-                                                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                   _valIglobalDefinitions
-                                                                                                   {-# LINE 11188 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                   )) of
-                                                                                            { _toOglobalDefinitions ->
-                                                                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                    _lhsIfuncName
-                                                                                                    {-# LINE 11193 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                    )) of
-                                                                                             { _toOfuncName ->
-                                                                                             (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                     _lhsIconfig
-                                                                                                     {-# LINE 11198 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                     )) of
-                                                                                              { _toOconfig ->
-                                                                                              (case (({-# LINE 395 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                      Nothing
-                                                                                                      {-# LINE 11203 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                      )) of
-                                                                                               { _toOvarBeingDefined ->
-                                                                                               (case (({-# LINE 394 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                       True
-                                                                                                       {-# LINE 11208 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                       )) of
-                                                                                                { _toOtopLevel ->
-                                                                                                (case (({-# LINE 393 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                        False
-                                                                                                        {-# LINE 11213 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                        )) of
-                                                                                                 { _toOinParentheses ->
-                                                                                                 (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                         False
-                                                                                                         {-# LINE 11218 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                         )) of
-                                                                                                  { _toOisNegation ->
-                                                                                                  (case (to_1 _toOconfig _toOfuncName _toOglobalDefinitions _toOinParentheses _toOisInModule _toOisMeta _toOisNegation _toOloopLevel _toOmtokenPos _toOscopeLevel _toOscopes _toOtopLevel _toOvarBeingDefined _toOvariableStyle) of
-                                                                                                   { ( _toIglobalDefinitions,_toIidentifier,_toIisInModule,_toIisSimpleExpression,_toIisSingleVar,_toIscopes,_toIvariableStyle,_toIwarnings) ->
-                                                                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                               _toIisInModule
-                                                                                                               {-# LINE 11225 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                               )) of
-                                                                                                        { _stepOisInModule ->
-                                                                                                        (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                _toIvariableStyle
-                                                                                                                {-# LINE 11230 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                )) of
-                                                                                                         { _stepOvariableStyle ->
-                                                                                                         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                 _toIscopes
-                                                                                                                 {-# LINE 11235 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                 )) of
-                                                                                                          { _stepOscopes ->
-                                                                                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                  _lhsIscopeLevel
-                                                                                                                  {-# LINE 11240 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                  )) of
-                                                                                                           { _stepOscopeLevel ->
-                                                                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                   _toImtokenPos
-                                                                                                                   {-# LINE 11245 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                   )) of
-                                                                                                            { _stepOmtokenPos ->
-                                                                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                    _lhsIloopLevel
-                                                                                                                    {-# LINE 11250 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                    )) of
-                                                                                                             { _stepOloopLevel ->
-                                                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                     _lhsIisMeta
-                                                                                                                     {-# LINE 11255 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                     )) of
-                                                                                                              { _stepOisMeta ->
-                                                                                                              (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                      _toIglobalDefinitions
-                                                                                                                      {-# LINE 11260 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                      )) of
-                                                                                                               { _stepOglobalDefinitions ->
-                                                                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                       _lhsIfuncName
-                                                                                                                       {-# LINE 11265 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                       )) of
-                                                                                                                { _stepOfuncName ->
-                                                                                                                (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                        _lhsIconfig
-                                                                                                                        {-# LINE 11270 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                        )) of
-                                                                                                                 { _stepOconfig ->
-                                                                                                                 (case (({-# LINE 400 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                         Nothing
-                                                                                                                         {-# LINE 11275 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                         )) of
-                                                                                                                  { _stepOvarBeingDefined ->
-                                                                                                                  (case (({-# LINE 399 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                          True
-                                                                                                                          {-# LINE 11280 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                          )) of
-                                                                                                                   { _stepOtopLevel ->
-                                                                                                                   (case (({-# LINE 398 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                           False
-                                                                                                                           {-# LINE 11285 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                           )) of
-                                                                                                                    { _stepOinParentheses ->
-                                                                                                                    (case (({-# LINE 397 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                            False
-                                                                                                                            {-# LINE 11290 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                            )) of
-                                                                                                                     { _stepOisNegation ->
-                                                                                                                     (case (step_1 _stepOconfig _stepOfuncName _stepOglobalDefinitions _stepOinParentheses _stepOisInModule _stepOisMeta _stepOisNegation _stepOloopLevel _stepOmtokenPos _stepOscopeLevel _stepOscopes _stepOtopLevel _stepOvarBeingDefined _stepOvariableStyle) of
-                                                                                                                      { ( _stepIglobalDefinitions,_stepIidentifier,_stepIisInModule,_stepIisSimpleExpression,_stepIisSingleVar,_stepIscopes,_stepIvariableStyle,_stepIwarnings) ->
-                                                                                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                  _stepIisInModule
-                                                                                                                                  {-# LINE 11297 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                  )) of
-                                                                                                                           { _bodyOisInModule ->
-                                                                                                                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                   _stepIglobalDefinitions
-                                                                                                                                   {-# LINE 11302 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                   )) of
-                                                                                                                            { _bodyOglobalDefinitions ->
-                                                                                                                            (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                    _lhsIconfig
-                                                                                                                                    {-# LINE 11307 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                    )) of
-                                                                                                                             { _bodyOconfig ->
-                                                                                                                             (case (({-# LINE 401 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                     M.singleton _varIidentifier (not (lint_unusedLoopVars _lhsIconfig), _varImtokenPos) : _stepIscopes
-                                                                                                                                     {-# LINE 11312 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                     )) of
-                                                                                                                              { _bodyOscopes ->
-                                                                                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                      _stepIvariableStyle
-                                                                                                                                      {-# LINE 11317 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                      )) of
-                                                                                                                               { _bodyOvariableStyle ->
-                                                                                                                               (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                       _lhsIscopeLevel
-                                                                                                                                       {-# LINE 11322 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                       )) of
-                                                                                                                                { _bodyOscopeLevel ->
-                                                                                                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                        _stepImtokenPos
-                                                                                                                                        {-# LINE 11327 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                        )) of
-                                                                                                                                 { _bodyOmtokenPos ->
-                                                                                                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                         _lhsIfuncName
-                                                                                                                                         {-# LINE 11332 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                         )) of
-                                                                                                                                  { _bodyOfuncName ->
-                                                                                                                                  (case (({-# LINE 396 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                          False
-                                                                                                                                          {-# LINE 11337 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                          )) of
-                                                                                                                                   { _bodyOisRepeat ->
-                                                                                                                                   (case (({-# LINE 387 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                           _lhsIloopLevel + 1
-                                                                                                                                           {-# LINE 11342 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                           )) of
-                                                                                                                                    { _bodyOloopLevel ->
-                                                                                                                                    (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                                                                                                     { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                                                                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                 _bodyIglobalDefinitions
-                                                                                                                                                 {-# LINE 11349 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                 )) of
-                                                                                                                                          { _lhsOglobalDefinitions ->
-                                                                                                                                          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                  (const _varIidentifier (const _valIidentifier (const _toIidentifier (const _stepIidentifier _bodyIidentifier))))
-                                                                                                                                                  {-# LINE 11354 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                  )) of
-                                                                                                                                           { _lhsOidentifier ->
-                                                                                                                                           (case (({-# LINE 386 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                   False
-                                                                                                                                                   {-# LINE 11359 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                   )) of
-                                                                                                                                            { _lhsOisIfStatement ->
-                                                                                                                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                    _bodyIisInModule
-                                                                                                                                                    {-# LINE 11364 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                    )) of
-                                                                                                                                             { _lhsOisInModule ->
-                                                                                                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                     _bodyImtokenPos
-                                                                                                                                                     {-# LINE 11369 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                     )) of
-                                                                                                                                              { _lhsOmtokenPos ->
-                                                                                                                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                      _bodyIscopes
-                                                                                                                                                      {-# LINE 11374 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                      )) of
-                                                                                                                                               { _lhsOscopes ->
-                                                                                                                                               (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                       _bodyIvariableStyle
-                                                                                                                                                       {-# LINE 11379 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                       )) of
-                                                                                                                                                { _lhsOvariableStyle ->
-                                                                                                                                                (case (({-# LINE 405 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                        _varIwarnings ++ _valIwarnings ++ _toIwarnings ++ _stepIwarnings ++ _bodyIwarnings
-                                                                                                                                                        {-# LINE 11384 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                        )) of
-                                                                                                                                                 { _warnings_augmented_syn ->
-                                                                                                                                                 (case (({-# LINE 402 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                         checkShadows _lhsIscopes _varIcopy
-                                                                                                                                                         {-# LINE 11389 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                         )) of
-                                                                                                                                                  { _shadowWarning ->
-                                                                                                                                                  (case (({-# LINE 405 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                          if not (lint_shadowing _lhsIconfig) || isNothing _shadowWarning     then id else
-                                                                                                                                                            (:) . fromMaybe (error "fromMaybe ANFor +warnings") $ _shadowWarning
-                                                                                                                                                          {-# LINE 11395 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                          )) of
-                                                                                                                                                   { _warnings_augmented_f2 ->
-                                                                                                                                                   (case (({-# LINE 405 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                           if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
-                                                                                                                                                             (:) $ warn _lhsImtokenPos EmptyFor
-                                                                                                                                                           {-# LINE 11401 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                           )) of
-                                                                                                                                                    { _warnings_augmented_f1 ->
-                                                                                                                                                    (case (({-# LINE 405 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                                                                                            foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
-                                                                                                                                                            {-# LINE 11406 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                                                                                            )) of
-                                                                                                                                                     { _lhsOwarnings ->
-                                                                                                                                                     ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                                       in  sem_Stat_ANFor_1)) of
-                                { ( sem_Stat_1) ->
-                                ( _lhsOcopy,sem_Stat_1) }) }) }) }) }) }) }) })
-sem_Stat_AGFor :: ([MToken]) ->
-                  T_MExprList ->
-                  T_Block ->
-                  T_Stat
-sem_Stat_AGFor vars_ vals_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (vals_) of
-          { ( _valsIcopy,vals_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      AGFor vars_ _valsIcopy _bodyIcopy
-                      {-# LINE 11424 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 11429 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Stat_AGFor_1 :: T_Stat_1
-                            sem_Stat_AGFor_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisMeta
-                                             {-# LINE 11446 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _bodyOisMeta ->
-                                      (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIisInModule
-                                              {-# LINE 11451 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _valsOisInModule ->
-                                       (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIvariableStyle
-                                               {-# LINE 11456 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _valsOvariableStyle ->
-                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopes
-                                                {-# LINE 11461 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _valsOscopes ->
-                                         (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIscopeLevel
-                                                 {-# LINE 11466 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _valsOscopeLevel ->
-                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsImtokenPos
-                                                  {-# LINE 11471 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _valsOmtokenPos ->
-                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsIloopLevel
-                                                   {-# LINE 11476 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _valsOloopLevel ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIisMeta
-                                                    {-# LINE 11481 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _valsOisMeta ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 11486 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _valsOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 11491 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _valsOfuncName ->
-                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIconfig
-                                                       {-# LINE 11496 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _valsOconfig ->
-                                                (case (({-# LINE 410 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                        True
-                                                        {-# LINE 11501 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                        )) of
-                                                 { _valsOtopLevel ->
-                                                 (case (({-# LINE 409 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                         True
-                                                         {-# LINE 11506 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                         )) of
-                                                  { _valsOinParentheses ->
-                                                  (case (vals_1 _valsOconfig _valsOfuncName _valsOglobalDefinitions _valsOinParentheses _valsOisInModule _valsOisMeta _valsOloopLevel _valsOmtokenPos _valsOscopeLevel _valsOscopes _valsOtopLevel _valsOvariableStyle) of
-                                                   { ( _valsIglobalDefinitions,_valsIidentifier,_valsIisInModule,_valsImtokenPos,_valsIscopes,_valsIvariableStyle,_valsIwarnings) ->
-                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _valsIisInModule
-                                                               {-# LINE 11513 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _bodyOisInModule ->
-                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _valsIglobalDefinitions
-                                                                {-# LINE 11518 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _bodyOglobalDefinitions ->
-                                                         (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _lhsIconfig
-                                                                 {-# LINE 11523 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _bodyOconfig ->
-                                                          (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  M.fromList $ map (\mt -> (tokenLabel mt, (not (lint_unusedLoopVars _lhsIconfig), mpos mt))) vars_
-                                                                  {-# LINE 11528 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _introduces ->
-                                                           (case (({-# LINE 415 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _introduces     : _valsIscopes
-                                                                   {-# LINE 11533 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _bodyOscopes ->
-                                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _valsIvariableStyle
-                                                                    {-# LINE 11538 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _bodyOvariableStyle ->
-                                                             (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIscopeLevel
-                                                                     {-# LINE 11543 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _bodyOscopeLevel ->
-                                                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _valsImtokenPos
-                                                                      {-# LINE 11548 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _bodyOmtokenPos ->
-                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIfuncName
-                                                                       {-# LINE 11553 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _bodyOfuncName ->
-                                                                (case (({-# LINE 412 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        False
-                                                                        {-# LINE 11558 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _bodyOisRepeat ->
-                                                                 (case (({-# LINE 411 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _lhsIloopLevel + 1
-                                                                         {-# LINE 11563 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _bodyOloopLevel ->
-                                                                  (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                                   { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                                       (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _bodyIglobalDefinitions
-                                                                               {-# LINE 11570 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOglobalDefinitions ->
-                                                                        (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                (const _valsIidentifier _bodyIidentifier)
-                                                                                {-# LINE 11575 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOidentifier ->
-                                                                         (case (({-# LINE 408 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 False
-                                                                                 {-# LINE 11580 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOisIfStatement ->
-                                                                          (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _bodyIisInModule
-                                                                                  {-# LINE 11585 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisInModule ->
-                                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _bodyImtokenPos
-                                                                                   {-# LINE 11590 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOmtokenPos ->
-                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _bodyIscopes
-                                                                                    {-# LINE 11595 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOscopes ->
-                                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _bodyIvariableStyle
-                                                                                     {-# LINE 11600 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOvariableStyle ->
-                                                                              (case (({-# LINE 418 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _valsIwarnings ++ _bodyIwarnings
-                                                                                      {-# LINE 11605 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _warnings_augmented_syn ->
-                                                                               (case (({-# LINE 418 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       if not (lint_shadowing _lhsIconfig) then id else
-                                                                                         (++) . catMaybes . map (checkShadows _lhsIscopes) $ vars_
-                                                                                       {-# LINE 11611 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _warnings_augmented_f2 ->
-                                                                                (case (({-# LINE 418 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
-                                                                                          (:) $ warn _lhsImtokenPos EmptyFor
-                                                                                        {-# LINE 11617 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _warnings_augmented_f1 ->
-                                                                                 (case (({-# LINE 418 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
-                                                                                         {-# LINE 11622 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _lhsOwarnings ->
-                                                                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Stat_AGFor_1)) of
-                 { ( sem_Stat_1) ->
-                 ( _lhsOcopy,sem_Stat_1) }) }) }) }) })
-sem_Stat_AFunc :: T_FuncName ->
-                  ([MToken]) ->
-                  T_Block ->
-                  T_Stat
-sem_Stat_AFunc name_ args_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (name_) of
-          { ( _nameIcopy,_nameIisMeta,name_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      AFunc _nameIcopy args_ _bodyIcopy
-                      {-# LINE 11640 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 11645 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Stat_AFunc_1 :: T_Stat_1
-                            sem_Stat_AFunc_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisInModule
-                                             {-# LINE 11662 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _nameOisInModule ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 11667 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _nameOvariableStyle ->
-                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopes
-                                               {-# LINE 11672 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _nameOscopes ->
-                                        (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopeLevel
-                                                {-# LINE 11677 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _nameOscopeLevel ->
-                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsImtokenPos
-                                                 {-# LINE 11682 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _nameOmtokenPos ->
-                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIloopLevel
-                                                  {-# LINE 11687 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _nameOloopLevel ->
-                                           (case (({-# LINE 433 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _nameIisMeta || findSelf args_ || _lhsIisMeta
-                                                   {-# LINE 11692 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _isMeta ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _isMeta
-                                                    {-# LINE 11697 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _nameOisMeta ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 11702 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _nameOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 11707 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _nameOfuncName ->
-                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIconfig
-                                                       {-# LINE 11712 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _nameOconfig ->
-                                                (case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of
-                                                 { ( _nameIglobalDefinitions,_nameIhasSuffixes,_nameIidentifier,_nameIisInModule,_nameImtokenPos,_nameIscopes,_nameIvariableStyle,_nameIwarnings) ->
-                                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _nameIisInModule
-                                                             {-# LINE 11719 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _bodyOisInModule ->
-                                                      (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _nameIglobalDefinitions
-                                                              {-# LINE 11724 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _bodyOglobalDefinitions ->
-                                                       (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsIconfig
-                                                               {-# LINE 11729 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _bodyOconfig ->
-                                                        (case (({-# LINE 434 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _isMeta
-                                                                {-# LINE 11734 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _bodyOisMeta ->
-                                                         (case (({-# LINE 422 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 filter (/= MToken emptyRg VarArg) $ args_
-                                                                 {-# LINE 11739 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _argIdentifiers ->
-                                                          (case (({-# LINE 424 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  (if _isMeta     then M.insert "self" (True, _nameImtokenPos) else id) $
-                                                                    M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $ _argIdentifiers
-                                                                  {-# LINE 11745 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _introduces ->
-                                                           (case (({-# LINE 426 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _introduces     : (registerVariable _nameIscopes _nameImtokenPos _nameIidentifier True)
-                                                                   {-# LINE 11750 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _bodyOscopes ->
-                                                            (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _nameIvariableStyle
-                                                                    {-# LINE 11755 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _bodyOvariableStyle ->
-                                                             (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _lhsIscopeLevel
-                                                                     {-# LINE 11760 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _bodyOscopeLevel ->
-                                                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _nameImtokenPos
-                                                                      {-# LINE 11765 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _bodyOmtokenPos ->
-                                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIloopLevel
-                                                                       {-# LINE 11770 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _bodyOloopLevel ->
-                                                                (case (({-# LINE 435 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _nameIidentifier
-                                                                        {-# LINE 11775 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _bodyOfuncName ->
-                                                                 (case (({-# LINE 423 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         False
-                                                                         {-# LINE 11780 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _bodyOisRepeat ->
-                                                                  (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                                   { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                                       (case (({-# LINE 428 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _bodyIglobalDefinitions
-                                                                               {-# LINE 11787 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _globalDefinitions_augmented_syn ->
-                                                                        (case (({-# LINE 428 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                if _lhsIisInModule || isVariableLocal _lhsIscopes _nameIidentifier || _nameIisMeta || _nameIhasSuffixes then id else
-                                                                                  M.insertWith (++) _nameIidentifier [_nameImtokenPos]
-                                                                                {-# LINE 11793 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _globalDefinitions_augmented_f1 ->
-                                                                         (case (({-# LINE 428 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]
-                                                                                 {-# LINE 11798 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOglobalDefinitions ->
-                                                                          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  (const _nameIidentifier _bodyIidentifier)
-                                                                                  {-# LINE 11803 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOidentifier ->
-                                                                           (case (({-# LINE 421 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   False
-                                                                                   {-# LINE 11808 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOisIfStatement ->
-                                                                            (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _bodyIisInModule
-                                                                                    {-# LINE 11813 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOisInModule ->
-                                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _bodyImtokenPos
-                                                                                     {-# LINE 11818 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOmtokenPos ->
-                                                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _bodyIscopes
-                                                                                      {-# LINE 11823 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOscopes ->
-                                                                               (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _bodyIvariableStyle
-                                                                                       {-# LINE 11828 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _lhsOvariableStyle ->
-                                                                                (case (({-# LINE 431 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        _nameIwarnings ++ _bodyIwarnings
-                                                                                        {-# LINE 11833 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _warnings_augmented_syn ->
-                                                                                 (case (({-# LINE 431 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         if not (lint_shadowing _lhsIconfig) then id else
-                                                                                           (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
-                                                                                         {-# LINE 11839 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _warnings_augmented_f1 ->
-                                                                                  (case (({-# LINE 431 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
-                                                                                          {-# LINE 11844 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _lhsOwarnings ->
-                                                                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Stat_AFunc_1)) of
-                 { ( sem_Stat_1) ->
-                 ( _lhsOcopy,sem_Stat_1) }) }) }) }) })
-sem_Stat_ALocFunc :: T_FuncName ->
-                     ([MToken]) ->
-                     T_Block ->
-                     T_Stat
-sem_Stat_ALocFunc name_ args_ body_ =
-    (case (body_) of
-     { ( _bodyIcopy,body_1) ->
-         (case (name_) of
-          { ( _nameIcopy,_nameIisMeta,name_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      ALocFunc _nameIcopy args_ _bodyIcopy
-                      {-# LINE 11862 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 11867 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_Stat_ALocFunc_1 :: T_Stat_1
-                            sem_Stat_ALocFunc_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIisInModule
-                                             {-# LINE 11884 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _nameOisInModule ->
-                                      (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIvariableStyle
-                                              {-# LINE 11889 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _nameOvariableStyle ->
-                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIscopes
-                                               {-# LINE 11894 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _nameOscopes ->
-                                        (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIscopeLevel
-                                                {-# LINE 11899 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _nameOscopeLevel ->
-                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsImtokenPos
-                                                 {-# LINE 11904 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _nameOmtokenPos ->
-                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIloopLevel
-                                                  {-# LINE 11909 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _nameOloopLevel ->
-                                           (case (({-# LINE 446 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   findSelf args_ || _lhsIisMeta
-                                                   {-# LINE 11914 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _isMeta ->
-                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _isMeta
-                                                    {-# LINE 11919 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _nameOisMeta ->
-                                             (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIglobalDefinitions
-                                                     {-# LINE 11924 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _nameOglobalDefinitions ->
-                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIfuncName
-                                                      {-# LINE 11929 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _nameOfuncName ->
-                                               (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIconfig
-                                                       {-# LINE 11934 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _nameOconfig ->
-                                                (case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of
-                                                 { ( _nameIglobalDefinitions,_nameIhasSuffixes,_nameIidentifier,_nameIisInModule,_nameImtokenPos,_nameIscopes,_nameIvariableStyle,_nameIwarnings) ->
-                                                     (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _nameIisInModule
-                                                             {-# LINE 11941 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _bodyOisInModule ->
-                                                      (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _nameIglobalDefinitions
-                                                              {-# LINE 11946 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _bodyOglobalDefinitions ->
-                                                       (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsIconfig
-                                                               {-# LINE 11951 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _bodyOconfig ->
-                                                        (case (({-# LINE 447 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _isMeta
-                                                                {-# LINE 11956 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _bodyOisMeta ->
-                                                         (case (({-# LINE 444 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 M.insert _nameIidentifier (False, _nameImtokenPos) (head _nameIscopes) : tail _nameIscopes
-                                                                 {-# LINE 11961 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _passedScopes ->
-                                                          (case (({-# LINE 438 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  filter (/= MToken emptyRg VarArg) $ args_
-                                                                  {-# LINE 11966 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _argIdentifiers ->
-                                                           (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   (if _isMeta     then M.insert "self" (True, _nameImtokenPos) else id) $
-                                                                     M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $ _argIdentifiers
-                                                                   {-# LINE 11972 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _introduces ->
-                                                            (case (({-# LINE 445 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _introduces     : _passedScopes
-                                                                    {-# LINE 11977 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _bodyOscopes ->
-                                                             (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _nameIvariableStyle
-                                                                     {-# LINE 11982 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _bodyOvariableStyle ->
-                                                              (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIscopeLevel
-                                                                      {-# LINE 11987 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _bodyOscopeLevel ->
-                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _nameImtokenPos
-                                                                       {-# LINE 11992 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _bodyOmtokenPos ->
-                                                                (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                        _lhsIloopLevel
-                                                                        {-# LINE 11997 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                        )) of
-                                                                 { _bodyOloopLevel ->
-                                                                 (case (({-# LINE 448 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                         _nameIidentifier
-                                                                         {-# LINE 12002 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                         )) of
-                                                                  { _bodyOfuncName ->
-                                                                  (case (({-# LINE 439 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                          False
-                                                                          {-# LINE 12007 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                          )) of
-                                                                   { _bodyOisRepeat ->
-                                                                   (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
-                                                                    { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->
-                                                                        (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _bodyIglobalDefinitions
-                                                                                {-# LINE 12014 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOglobalDefinitions ->
-                                                                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 (const _nameIidentifier _bodyIidentifier)
-                                                                                 {-# LINE 12019 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOidentifier ->
-                                                                          (case (({-# LINE 437 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  False
-                                                                                  {-# LINE 12024 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOisIfStatement ->
-                                                                           (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _bodyIisInModule
-                                                                                   {-# LINE 12029 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOisInModule ->
-                                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                    _bodyImtokenPos
-                                                                                    {-# LINE 12034 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                    )) of
-                                                                             { _lhsOmtokenPos ->
-                                                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                     _bodyIscopes
-                                                                                     {-# LINE 12039 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                     )) of
-                                                                              { _lhsOscopes ->
-                                                                              (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                      _bodyIvariableStyle
-                                                                                      {-# LINE 12044 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                      )) of
-                                                                               { _lhsOvariableStyle ->
-                                                                               (case (({-# LINE 454 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                       _nameIwarnings ++ _bodyIwarnings
-                                                                                       {-# LINE 12049 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                       )) of
-                                                                                { _warnings_augmented_syn ->
-                                                                                (case (({-# LINE 443 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                        MToken _nameImtokenPos (Identifier _nameIidentifier)
-                                                                                        {-# LINE 12054 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                        )) of
-                                                                                 { _funcname ->
-                                                                                 (case (({-# LINE 453 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                         checkShadows _lhsIscopes _funcname
-                                                                                         {-# LINE 12059 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                         )) of
-                                                                                  { _funcNameShadows ->
-                                                                                  (case (({-# LINE 454 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                          if not (lint_shadowing _lhsIconfig) then id else
-                                                                                            (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
-                                                                                          {-# LINE 12065 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                          )) of
-                                                                                   { _warnings_augmented_f2 ->
-                                                                                   (case (({-# LINE 454 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                           if not (lint_shadowing _lhsIconfig) || isNothing _funcNameShadows     then id else
-                                                                                             (:) . fromMaybe (error "fromMaybe ALocFunc +warnings") $ _funcNameShadows
-                                                                                           {-# LINE 12071 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                           )) of
-                                                                                    { _warnings_augmented_f1 ->
-                                                                                    (case (({-# LINE 454 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                            foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
-                                                                                            {-# LINE 12076 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                            )) of
-                                                                                     { _lhsOwarnings ->
-                                                                                     ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_Stat_ALocFunc_1)) of
-                 { ( sem_Stat_1) ->
-                 ( _lhsOcopy,sem_Stat_1) }) }) }) }) })
--- Token -------------------------------------------------------
--- cata
-sem_Token :: Token ->
-             T_Token
-sem_Token (Whitespace _space) =
-    (sem_Token_Whitespace _space)
-sem_Token (DashComment _comment) =
-    (sem_Token_DashComment _comment)
-sem_Token (DashBlockComment _depth _comment) =
-    (sem_Token_DashBlockComment _depth _comment)
-sem_Token (SlashComment _comment) =
-    (sem_Token_SlashComment _comment)
-sem_Token (SlashBlockComment _comment) =
-    (sem_Token_SlashBlockComment _comment)
-sem_Token (Semicolon) =
-    (sem_Token_Semicolon)
-sem_Token (TNumber _num) =
-    (sem_Token_TNumber _num)
-sem_Token (DQString _str) =
-    (sem_Token_DQString _str)
-sem_Token (SQString _str) =
-    (sem_Token_SQString _str)
-sem_Token (MLString _str) =
-    (sem_Token_MLString _str)
-sem_Token (TTrue) =
-    (sem_Token_TTrue)
-sem_Token (TFalse) =
-    (sem_Token_TFalse)
-sem_Token (Nil) =
-    (sem_Token_Nil)
-sem_Token (VarArg) =
-    (sem_Token_VarArg)
-sem_Token (Plus) =
-    (sem_Token_Plus)
-sem_Token (Minus) =
-    (sem_Token_Minus)
-sem_Token (Multiply) =
-    (sem_Token_Multiply)
-sem_Token (Divide) =
-    (sem_Token_Divide)
-sem_Token (Modulus) =
-    (sem_Token_Modulus)
-sem_Token (Power) =
-    (sem_Token_Power)
-sem_Token (TEq) =
-    (sem_Token_TEq)
-sem_Token (TNEq) =
-    (sem_Token_TNEq)
-sem_Token (TCNEq) =
-    (sem_Token_TCNEq)
-sem_Token (TLEQ) =
-    (sem_Token_TLEQ)
-sem_Token (TGEQ) =
-    (sem_Token_TGEQ)
-sem_Token (TLT) =
-    (sem_Token_TLT)
-sem_Token (TGT) =
-    (sem_Token_TGT)
-sem_Token (Equals) =
-    (sem_Token_Equals)
-sem_Token (Concatenate) =
-    (sem_Token_Concatenate)
-sem_Token (Colon) =
-    (sem_Token_Colon)
-sem_Token (Dot) =
-    (sem_Token_Dot)
-sem_Token (Comma) =
-    (sem_Token_Comma)
-sem_Token (Hash) =
-    (sem_Token_Hash)
-sem_Token (Not) =
-    (sem_Token_Not)
-sem_Token (CNot) =
-    (sem_Token_CNot)
-sem_Token (And) =
-    (sem_Token_And)
-sem_Token (CAnd) =
-    (sem_Token_CAnd)
-sem_Token (Or) =
-    (sem_Token_Or)
-sem_Token (COr) =
-    (sem_Token_COr)
-sem_Token (Function) =
-    (sem_Token_Function)
-sem_Token (Local) =
-    (sem_Token_Local)
-sem_Token (If) =
-    (sem_Token_If)
-sem_Token (Then) =
-    (sem_Token_Then)
-sem_Token (Elseif) =
-    (sem_Token_Elseif)
-sem_Token (Else) =
-    (sem_Token_Else)
-sem_Token (For) =
-    (sem_Token_For)
-sem_Token (In) =
-    (sem_Token_In)
-sem_Token (Do) =
-    (sem_Token_Do)
-sem_Token (While) =
-    (sem_Token_While)
-sem_Token (Until) =
-    (sem_Token_Until)
-sem_Token (Repeat) =
-    (sem_Token_Repeat)
-sem_Token (Continue) =
-    (sem_Token_Continue)
-sem_Token (Break) =
-    (sem_Token_Break)
-sem_Token (Return) =
-    (sem_Token_Return)
-sem_Token (End) =
-    (sem_Token_End)
-sem_Token (LRound) =
-    (sem_Token_LRound)
-sem_Token (RRound) =
-    (sem_Token_RRound)
-sem_Token (LCurly) =
-    (sem_Token_LCurly)
-sem_Token (RCurly) =
-    (sem_Token_RCurly)
-sem_Token (LSquare) =
-    (sem_Token_LSquare)
-sem_Token (RSquare) =
-    (sem_Token_RSquare)
-sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =
-    (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)
-sem_Token (Identifier _ident) =
-    (sem_Token_Identifier _ident)
--- semantic domain
-type T_Token = ( Token,String,([String -> LintMessage]))
-data Inh_Token = Inh_Token {}
-data Syn_Token = Syn_Token {copy_Syn_Token :: Token,identifier_Syn_Token :: String,warnings_Syn_Token :: ([String -> LintMessage])}
-wrap_Token :: T_Token ->
-              Inh_Token ->
-              Syn_Token
-wrap_Token sem (Inh_Token) =
-    (let ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) = sem
-     in  (Syn_Token _lhsOcopy _lhsOidentifier _lhsOwarnings))
-sem_Token_Whitespace :: String ->
-                        T_Token
-sem_Token_Whitespace space_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Whitespace space_
-            {-# LINE 12228 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12233 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12238 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12243 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_DashComment :: String ->
-                         T_Token
-sem_Token_DashComment comment_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            DashComment comment_
-            {-# LINE 12252 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12257 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12262 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12267 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_DashBlockComment :: Int ->
-                              String ->
-                              T_Token
-sem_Token_DashBlockComment depth_ comment_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            DashBlockComment depth_ comment_
-            {-# LINE 12277 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12282 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12287 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12292 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_SlashComment :: String ->
-                          T_Token
-sem_Token_SlashComment comment_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            SlashComment comment_
-            {-# LINE 12301 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12306 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12311 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12316 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_SlashBlockComment :: String ->
-                               T_Token
-sem_Token_SlashBlockComment comment_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            SlashBlockComment comment_
-            {-# LINE 12325 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12330 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12335 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12340 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Semicolon :: T_Token
-sem_Token_Semicolon =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Semicolon
-            {-# LINE 12348 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12353 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12358 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12363 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TNumber :: String ->
-                     T_Token
-sem_Token_TNumber num_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TNumber num_
-            {-# LINE 12372 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12377 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12382 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12387 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_DQString :: String ->
-                      T_Token
-sem_Token_DQString str_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            DQString str_
-            {-# LINE 12396 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12401 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12406 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12411 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_SQString :: String ->
-                      T_Token
-sem_Token_SQString str_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            SQString str_
-            {-# LINE 12420 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12425 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12430 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12435 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_MLString :: String ->
-                      T_Token
-sem_Token_MLString str_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            MLString str_
-            {-# LINE 12444 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12449 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12454 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12459 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TTrue :: T_Token
-sem_Token_TTrue =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TTrue
-            {-# LINE 12467 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12472 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12477 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12482 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TFalse :: T_Token
-sem_Token_TFalse =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TFalse
-            {-# LINE 12490 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12495 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12500 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12505 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Nil :: T_Token
-sem_Token_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Nil
-            {-# LINE 12513 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12518 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12523 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12528 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_VarArg :: T_Token
-sem_Token_VarArg =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            VarArg
-            {-# LINE 12536 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12541 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12546 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12551 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Plus :: T_Token
-sem_Token_Plus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Plus
-            {-# LINE 12559 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12564 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12569 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12574 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Minus :: T_Token
-sem_Token_Minus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Minus
-            {-# LINE 12582 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12587 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12592 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12597 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Multiply :: T_Token
-sem_Token_Multiply =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Multiply
-            {-# LINE 12605 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12610 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12615 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12620 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Divide :: T_Token
-sem_Token_Divide =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Divide
-            {-# LINE 12628 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12633 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12638 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12643 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Modulus :: T_Token
-sem_Token_Modulus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Modulus
-            {-# LINE 12651 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12656 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12661 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12666 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Power :: T_Token
-sem_Token_Power =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Power
-            {-# LINE 12674 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12679 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12684 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12689 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TEq :: T_Token
-sem_Token_TEq =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TEq
-            {-# LINE 12697 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12702 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12707 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12712 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TNEq :: T_Token
-sem_Token_TNEq =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TNEq
-            {-# LINE 12720 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12725 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12730 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12735 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TCNEq :: T_Token
-sem_Token_TCNEq =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TCNEq
-            {-# LINE 12743 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12748 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12753 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12758 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TLEQ :: T_Token
-sem_Token_TLEQ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TLEQ
-            {-# LINE 12766 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12771 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12776 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12781 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TGEQ :: T_Token
-sem_Token_TGEQ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TGEQ
-            {-# LINE 12789 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12794 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12799 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12804 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TLT :: T_Token
-sem_Token_TLT =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TLT
-            {-# LINE 12812 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12817 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12822 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12827 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_TGT :: T_Token
-sem_Token_TGT =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            TGT
-            {-# LINE 12835 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12840 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12845 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12850 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Equals :: T_Token
-sem_Token_Equals =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Equals
-            {-# LINE 12858 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12863 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12868 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12873 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Concatenate :: T_Token
-sem_Token_Concatenate =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Concatenate
-            {-# LINE 12881 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12886 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12891 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12896 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Colon :: T_Token
-sem_Token_Colon =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Colon
-            {-# LINE 12904 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12909 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12914 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12919 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Dot :: T_Token
-sem_Token_Dot =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Dot
-            {-# LINE 12927 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12932 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12937 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12942 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Comma :: T_Token
-sem_Token_Comma =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Comma
-            {-# LINE 12950 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12955 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12960 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12965 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Hash :: T_Token
-sem_Token_Hash =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Hash
-            {-# LINE 12973 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 12978 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 12983 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 12988 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Not :: T_Token
-sem_Token_Not =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Not
-            {-# LINE 12996 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13001 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13006 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13011 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_CNot :: T_Token
-sem_Token_CNot =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            CNot
-            {-# LINE 13019 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13024 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13029 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13034 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_And :: T_Token
-sem_Token_And =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            And
-            {-# LINE 13042 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13047 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13052 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13057 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_CAnd :: T_Token
-sem_Token_CAnd =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            CAnd
-            {-# LINE 13065 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13070 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13075 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13080 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Or :: T_Token
-sem_Token_Or =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Or
-            {-# LINE 13088 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13093 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13098 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13103 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_COr :: T_Token
-sem_Token_COr =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            COr
-            {-# LINE 13111 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13116 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13121 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13126 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Function :: T_Token
-sem_Token_Function =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Function
-            {-# LINE 13134 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13139 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13144 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13149 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Local :: T_Token
-sem_Token_Local =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Local
-            {-# LINE 13157 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13162 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13167 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13172 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_If :: T_Token
-sem_Token_If =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            If
-            {-# LINE 13180 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13185 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13190 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13195 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Then :: T_Token
-sem_Token_Then =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Then
-            {-# LINE 13203 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13208 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13213 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13218 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Elseif :: T_Token
-sem_Token_Elseif =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Elseif
-            {-# LINE 13226 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13231 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13236 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13241 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Else :: T_Token
-sem_Token_Else =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Else
-            {-# LINE 13249 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13254 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13259 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13264 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_For :: T_Token
-sem_Token_For =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            For
-            {-# LINE 13272 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13277 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13282 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13287 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_In :: T_Token
-sem_Token_In =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            In
-            {-# LINE 13295 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13300 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13305 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13310 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Do :: T_Token
-sem_Token_Do =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Do
-            {-# LINE 13318 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13323 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13328 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13333 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_While :: T_Token
-sem_Token_While =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            While
-            {-# LINE 13341 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13346 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13351 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13356 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Until :: T_Token
-sem_Token_Until =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Until
-            {-# LINE 13364 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13369 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13374 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13379 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Repeat :: T_Token
-sem_Token_Repeat =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Repeat
-            {-# LINE 13387 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13392 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13397 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13402 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Continue :: T_Token
-sem_Token_Continue =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Continue
-            {-# LINE 13410 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13415 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13420 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13425 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Break :: T_Token
-sem_Token_Break =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Break
-            {-# LINE 13433 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13438 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13443 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13448 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Return :: T_Token
-sem_Token_Return =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Return
-            {-# LINE 13456 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13461 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13466 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13471 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_End :: T_Token
-sem_Token_End =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            End
-            {-# LINE 13479 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13484 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13489 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13494 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_LRound :: T_Token
-sem_Token_LRound =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            LRound
-            {-# LINE 13502 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13507 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13512 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13517 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_RRound :: T_Token
-sem_Token_RRound =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            RRound
-            {-# LINE 13525 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13530 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13535 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13540 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_LCurly :: T_Token
-sem_Token_LCurly =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            LCurly
-            {-# LINE 13548 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13553 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13558 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13563 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_RCurly :: T_Token
-sem_Token_RCurly =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            RCurly
-            {-# LINE 13571 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13576 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13581 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13586 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_LSquare :: T_Token
-sem_Token_LSquare =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            LSquare
-            {-# LINE 13594 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13599 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13604 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13609 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_RSquare :: T_Token
-sem_Token_RSquare =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            RSquare
-            {-# LINE 13617 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13622 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13627 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13632 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Label :: String ->
-                   String ->
-                   String ->
-                   T_Token
-sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Label whitespaceBefore_ lbl_ whitespaceAfter_
-            {-# LINE 13643 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13648 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 220 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              lbl_
-              {-# LINE 13653 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13658 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
-sem_Token_Identifier :: String ->
-                        T_Token
-sem_Token_Identifier ident_ =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            Identifier ident_
-            {-# LINE 13667 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13672 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 222 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              ident_
-              {-# LINE 13677 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13682 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
--- TokenList ---------------------------------------------------
--- cata
-sem_TokenList :: TokenList ->
-                 T_TokenList
-sem_TokenList list =
-    (Prelude.foldr sem_TokenList_Cons sem_TokenList_Nil (Prelude.map sem_Token list))
--- semantic domain
-type T_TokenList = ( TokenList,String,([String -> LintMessage]))
-data Inh_TokenList = Inh_TokenList {}
-data Syn_TokenList = Syn_TokenList {copy_Syn_TokenList :: TokenList,identifier_Syn_TokenList :: String,warnings_Syn_TokenList :: ([String -> LintMessage])}
-wrap_TokenList :: T_TokenList ->
-                  Inh_TokenList ->
-                  Syn_TokenList
-wrap_TokenList sem (Inh_TokenList) =
-    (let ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) = sem
-     in  (Syn_TokenList _lhsOcopy _lhsOidentifier _lhsOwarnings))
-sem_TokenList_Cons :: T_Token ->
-                      T_TokenList ->
-                      T_TokenList
-sem_TokenList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,_tlIidentifier,_tlIwarnings) ->
-         (case (hd_) of
-          { ( _hdIcopy,_hdIidentifier,_hdIwarnings) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 13712 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 13717 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                        (const _hdIidentifier _tlIidentifier)
-                        {-# LINE 13722 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                        )) of
-                 { _lhsOidentifier ->
-                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                         _hdIwarnings ++ _tlIwarnings
-                         {-# LINE 13727 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                         )) of
-                  { _lhsOwarnings ->
-                  ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) }) }) })
-sem_TokenList_Nil :: T_TokenList
-sem_TokenList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 13735 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13740 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-              unknownIdentifier
-              {-# LINE 13745 "src/GLuaFixer/AG/ASTLint.hs" #-}
-              )) of
-       { _lhsOidentifier ->
-       (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-               []
-               {-# LINE 13750 "src/GLuaFixer/AG/ASTLint.hs" #-}
-               )) of
-        { _lhsOwarnings ->
-        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
--- UnOp --------------------------------------------------------
--- cata
-sem_UnOp :: UnOp ->
-            T_UnOp
-sem_UnOp (UnMinus) =
-    (sem_UnOp_UnMinus)
-sem_UnOp (ANot) =
-    (sem_UnOp_ANot)
-sem_UnOp (AHash) =
-    (sem_UnOp_AHash)
--- semantic domain
-type T_UnOp = ( UnOp,T_UnOp_1)
-type T_UnOp_1 = LintSettings ->
-                String ->
-                (M.Map String [Region]) ->
-                Bool ->
-                Bool ->
-                Int ->
-                Region ->
-                Int ->
-                ([M.Map String (Bool, Region)]) ->
-                DeterminedVariableStyle ->
-                ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_UnOp = Inh_UnOp {config_Inh_UnOp :: LintSettings,funcName_Inh_UnOp :: String,globalDefinitions_Inh_UnOp :: (M.Map String [Region]),isInModule_Inh_UnOp :: Bool,isMeta_Inh_UnOp :: Bool,loopLevel_Inh_UnOp :: Int,mtokenPos_Inh_UnOp :: Region,scopeLevel_Inh_UnOp :: Int,scopes_Inh_UnOp :: ([M.Map String (Bool, Region)]),variableStyle_Inh_UnOp :: DeterminedVariableStyle}
-data Syn_UnOp = Syn_UnOp {copy_Syn_UnOp :: UnOp,globalDefinitions_Syn_UnOp :: (M.Map String [Region]),identifier_Syn_UnOp :: String,isInModule_Syn_UnOp :: Bool,isNegation_Syn_UnOp :: Bool,mtokenPos_Syn_UnOp :: Region,scopes_Syn_UnOp :: ([M.Map String (Bool, Region)]),variableStyle_Syn_UnOp :: DeterminedVariableStyle,warnings_Syn_UnOp :: ([String -> LintMessage])}
-wrap_UnOp :: T_UnOp ->
-             Inh_UnOp ->
-             Syn_UnOp
-wrap_UnOp sem (Inh_UnOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_UnOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisNegation _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_UnOp_UnMinus :: T_UnOp
-sem_UnOp_UnMinus =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            UnMinus
-            {-# LINE 13790 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13795 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_UnOp_UnMinus_1 :: T_UnOp_1
-                  sem_UnOp_UnMinus_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 13812 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 13817 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 13822 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 639 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      False
-                                      {-# LINE 13827 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisNegation ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 13832 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 13837 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 13842 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 13847 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_UnOp_UnMinus_1)) of
-       { ( sem_UnOp_1) ->
-       ( _lhsOcopy,sem_UnOp_1) }) }) })
-sem_UnOp_ANot :: T_UnOp
-sem_UnOp_ANot =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            ANot
-            {-# LINE 13858 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13863 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_UnOp_ANot_1 :: T_UnOp_1
-                  sem_UnOp_ANot_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 13880 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 13885 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 13890 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 641 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      True
-                                      {-# LINE 13895 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisNegation ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 13900 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 13905 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 13910 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 13915 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_UnOp_ANot_1)) of
-       { ( sem_UnOp_1) ->
-       ( _lhsOcopy,sem_UnOp_1) }) }) })
-sem_UnOp_AHash :: T_UnOp
-sem_UnOp_AHash =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            AHash
-            {-# LINE 13926 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 13931 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_UnOp_AHash_1 :: T_UnOp_1
-                  sem_UnOp_AHash_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 13948 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 13953 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 13958 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 643 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      False
-                                      {-# LINE 13963 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOisNegation ->
-                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsImtokenPos
-                                       {-# LINE 13968 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOmtokenPos ->
-                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIscopes
-                                        {-# LINE 13973 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOscopes ->
-                                 (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         _lhsIvariableStyle
-                                         {-# LINE 13978 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOvariableStyle ->
-                                  (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                          []
-                                          {-# LINE 13983 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                          )) of
-                                   { _lhsOwarnings ->
-                                   ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))
-              in  sem_UnOp_AHash_1)) of
-       { ( sem_UnOp_1) ->
-       ( _lhsOcopy,sem_UnOp_1) }) }) })
--- VarsList ----------------------------------------------------
--- cata
-sem_VarsList :: VarsList ->
-                T_VarsList
-sem_VarsList list =
-    (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))
--- semantic domain
-type T_VarsList = ( VarsList,T_VarsList_1)
-type T_VarsList_1 = LintSettings ->
-                    String ->
-                    (M.Map String [Region]) ->
-                    Bool ->
-                    Bool ->
-                    Bool ->
-                    Int ->
-                    Region ->
-                    Int ->
-                    ([M.Map String (Bool, Region)]) ->
-                    DeterminedVariableStyle ->
-                    ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))
-data Inh_VarsList = Inh_VarsList {config_Inh_VarsList :: LintSettings,funcName_Inh_VarsList :: String,globalDefinitions_Inh_VarsList :: (M.Map String [Region]),isInModule_Inh_VarsList :: Bool,isMeta_Inh_VarsList :: Bool,localDefinition_Inh_VarsList :: Bool,loopLevel_Inh_VarsList :: Int,mtokenPos_Inh_VarsList :: Region,scopeLevel_Inh_VarsList :: Int,scopes_Inh_VarsList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_VarsList :: DeterminedVariableStyle}
-data Syn_VarsList = Syn_VarsList {copy_Syn_VarsList :: VarsList,globalDefinitions_Syn_VarsList :: (M.Map String [Region]),identifier_Syn_VarsList :: String,isInModule_Syn_VarsList :: Bool,mtokenPos_Syn_VarsList :: Region,scopes_Syn_VarsList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_VarsList :: DeterminedVariableStyle,warnings_Syn_VarsList :: ([String -> LintMessage])}
-wrap_VarsList :: T_VarsList ->
-                 Inh_VarsList ->
-                 Syn_VarsList
-wrap_VarsList sem (Inh_VarsList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
-    (let ( _lhsOcopy,sem_1) = sem
-         ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
-     in  (Syn_VarsList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))
-sem_VarsList_Cons :: T_Declaration ->
-                     T_VarsList ->
-                     T_VarsList
-sem_VarsList_Cons hd_ tl_ =
-    (case (tl_) of
-     { ( _tlIcopy,tl_1) ->
-         (case (hd_) of
-          { ( _hdIcopy,hd_1) ->
-              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                      (:) _hdIcopy _tlIcopy
-                      {-# LINE 14029 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                      )) of
-               { _copy ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                       _copy
-                       {-# LINE 14034 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                       )) of
-                { _lhsOcopy ->
-                (case ((let sem_VarsList_Cons_1 :: T_VarsList_1
-                            sem_VarsList_Cons_1 =
-                                (\ _lhsIconfig
-                                   _lhsIfuncName
-                                   _lhsIglobalDefinitions
-                                   _lhsIisInModule
-                                   _lhsIisMeta
-                                   _lhsIlocalDefinition
-                                   _lhsIloopLevel
-                                   _lhsImtokenPos
-                                   _lhsIscopeLevel
-                                   _lhsIscopes
-                                   _lhsIvariableStyle ->
-                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                             _lhsIscopes
-                                             {-# LINE 14052 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                             )) of
-                                      { _hdOscopes ->
-                                      (case (({-# LINE 189 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                              _lhsIlocalDefinition
-                                              {-# LINE 14057 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                              )) of
-                                       { _hdOlocalDefinition ->
-                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                               _lhsIisMeta
-                                               {-# LINE 14062 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                               )) of
-                                        { _hdOisMeta ->
-                                        (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                _lhsIconfig
-                                                {-# LINE 14067 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                )) of
-                                         { _hdOconfig ->
-                                         (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                 _lhsIvariableStyle
-                                                 {-# LINE 14072 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                 )) of
-                                          { _hdOvariableStyle ->
-                                          (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                  _lhsIscopeLevel
-                                                  {-# LINE 14077 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                  )) of
-                                           { _hdOscopeLevel ->
-                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                   _lhsImtokenPos
-                                                   {-# LINE 14082 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                   )) of
-                                            { _hdOmtokenPos ->
-                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                    _lhsIloopLevel
-                                                    {-# LINE 14087 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                    )) of
-                                             { _hdOloopLevel ->
-                                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                     _lhsIisInModule
-                                                     {-# LINE 14092 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                     )) of
-                                              { _hdOisInModule ->
-                                              (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                      _lhsIglobalDefinitions
-                                                      {-# LINE 14097 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                      )) of
-                                               { _hdOglobalDefinitions ->
-                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                       _lhsIfuncName
-                                                       {-# LINE 14102 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                       )) of
-                                                { _hdOfuncName ->
-                                                (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOlocalDefinition _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
-                                                 { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->
-                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                             _hdIscopes
-                                                             {-# LINE 14109 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                             )) of
-                                                      { _tlOscopes ->
-                                                      (case (({-# LINE 189 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                              _lhsIlocalDefinition
-                                                              {-# LINE 14114 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                              )) of
-                                                       { _tlOlocalDefinition ->
-                                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                               _lhsIisMeta
-                                                               {-# LINE 14119 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                               )) of
-                                                        { _tlOisMeta ->
-                                                        (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                _hdIisInModule
-                                                                {-# LINE 14124 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                )) of
-                                                         { _tlOisInModule ->
-                                                         (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                 _hdIglobalDefinitions
-                                                                 {-# LINE 14129 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                 )) of
-                                                          { _tlOglobalDefinitions ->
-                                                          (case (({-# LINE 134 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                  _lhsIconfig
-                                                                  {-# LINE 14134 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                  )) of
-                                                           { _tlOconfig ->
-                                                           (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                   _hdIvariableStyle
-                                                                   {-# LINE 14139 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                   )) of
-                                                            { _tlOvariableStyle ->
-                                                            (case (({-# LINE 127 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                    _lhsIscopeLevel
-                                                                    {-# LINE 14144 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                    )) of
-                                                             { _tlOscopeLevel ->
-                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                     _hdImtokenPos
-                                                                     {-# LINE 14149 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                     )) of
-                                                              { _tlOmtokenPos ->
-                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                      _lhsIloopLevel
-                                                                      {-# LINE 14154 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                      )) of
-                                                               { _tlOloopLevel ->
-                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                       _lhsIfuncName
-                                                                       {-# LINE 14159 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                       )) of
-                                                                { _tlOfuncName ->
-                                                                (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOlocalDefinition _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
-                                                                 { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->
-                                                                     (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                             _tlIglobalDefinitions
-                                                                             {-# LINE 14166 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                             )) of
-                                                                      { _lhsOglobalDefinitions ->
-                                                                      (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                              (const _hdIidentifier _tlIidentifier)
-                                                                              {-# LINE 14171 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                              )) of
-                                                                       { _lhsOidentifier ->
-                                                                       (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                               _tlIisInModule
-                                                                               {-# LINE 14176 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                               )) of
-                                                                        { _lhsOisInModule ->
-                                                                        (case (({-# LINE 234 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                _hdImtokenPos
-                                                                                {-# LINE 14181 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                )) of
-                                                                         { _lhsOmtokenPos ->
-                                                                         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                 _tlIscopes
-                                                                                 {-# LINE 14186 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                 )) of
-                                                                          { _lhsOscopes ->
-                                                                          (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                  _tlIvariableStyle
-                                                                                  {-# LINE 14191 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                  )) of
-                                                                           { _lhsOvariableStyle ->
-                                                                           (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                                                                   _hdIwarnings ++ _tlIwarnings
-                                                                                   {-# LINE 14196 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                                                                   )) of
-                                                                            { _lhsOwarnings ->
-                                                                            ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-                        in  sem_VarsList_Cons_1)) of
-                 { ( sem_VarsList_1) ->
-                 ( _lhsOcopy,sem_VarsList_1) }) }) }) }) })
-sem_VarsList_Nil :: T_VarsList
-sem_VarsList_Nil =
-    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-            []
-            {-# LINE 14207 "src/GLuaFixer/AG/ASTLint.hs" #-}
-            )) of
-     { _copy ->
-     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
-             _copy
-             {-# LINE 14212 "src/GLuaFixer/AG/ASTLint.hs" #-}
-             )) of
-      { _lhsOcopy ->
-      (case ((let sem_VarsList_Nil_1 :: T_VarsList_1
-                  sem_VarsList_Nil_1 =
-                      (\ _lhsIconfig
-                         _lhsIfuncName
-                         _lhsIglobalDefinitions
-                         _lhsIisInModule
-                         _lhsIisMeta
-                         _lhsIlocalDefinition
-                         _lhsIloopLevel
-                         _lhsImtokenPos
-                         _lhsIscopeLevel
-                         _lhsIscopes
-                         _lhsIvariableStyle ->
-                           (case (({-# LINE 138 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                   _lhsIglobalDefinitions
-                                   {-# LINE 14230 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                   )) of
-                            { _lhsOglobalDefinitions ->
-                            (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                    unknownIdentifier
-                                    {-# LINE 14235 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                    )) of
-                             { _lhsOidentifier ->
-                             (case (({-# LINE 143 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                     _lhsIisInModule
-                                     {-# LINE 14240 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                     )) of
-                              { _lhsOisInModule ->
-                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                      _lhsImtokenPos
-                                      {-# LINE 14245 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                      )) of
-                               { _lhsOmtokenPos ->
-                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                       _lhsIscopes
-                                       {-# LINE 14250 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                       )) of
-                                { _lhsOscopes ->
-                                (case (({-# LINE 131 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                        _lhsIvariableStyle
-                                        {-# LINE 14255 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                        )) of
-                                 { _lhsOvariableStyle ->
-                                 (case (({-# LINE 152 "src/GLuaFixer/AG/ASTLint.ag" #-}
-                                         []
-                                         {-# LINE 14260 "src/GLuaFixer/AG/ASTLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))
-              in  sem_VarsList_Nil_1)) of
-       { ( sem_VarsList_1) ->
-       ( _lhsOcopy,sem_VarsList_1) }) }) })
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE LambdaCase #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- UUAGC 0.9.55 (src/GLuaFixer/AG/ASTLint.ag)
+module GLuaFixer.AG.ASTLint where
+
+{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}
+
+import GHC.Generics
+import Text.ParserCombinators.UU.BasicInstances hiding (pos)
+{-# LINE 19 "src/GLuaFixer/AG/ASTLint.hs" #-}
+
+{-# LINE 10 "src/GLuaFixer/AG/../../GLua/AG/AST.ag" #-}
+
+import Data.Aeson
+import GHC.Generics
+import GLua.AG.Token
+import GLua.TokenTypes ()
+{-# LINE 27 "src/GLuaFixer/AG/ASTLint.hs" #-}
+
+{-# LINE 10 "src/GLuaFixer/AG/ASTLint.ag" #-}
+
+import Data.Char (isLower, isUpper)
+import qualified Data.Map.Strict as M
+import Data.Maybe
+import qualified Data.Set as S
+import GLua.AG.AST
+import qualified GLua.AG.PrettyPrint as PP
+import qualified GLua.AG.Token as T
+import GLua.TokenTypes
+import GLuaFixer.LintMessage
+import GLuaFixer.LintSettings
+{-# LINE 41 "src/GLuaFixer/AG/ASTLint.hs" #-}
+{-# LINE 28 "src/GLuaFixer/AG/ASTLint.ag" #-}
+
+warn :: Region -> Issue -> FilePath -> LintMessage
+warn pos issue = LintMessage LintWarning pos issue
+
+-- Used in detecting "not (a == b)" kind of things
+oppositeBinOp :: BinOp -> Maybe String
+oppositeBinOp ALT = Just ">="
+oppositeBinOp AGT = Just "<="
+oppositeBinOp ALEQ = Just ">"
+oppositeBinOp AGEQ = Just "<"
+oppositeBinOp ANEq = Just "=="
+oppositeBinOp AEq = Just "~="
+oppositeBinOp _ = Nothing
+
+-- Checks whether a variable shadows existing variables
+checkShadows :: [M.Map String (Bool, Region)] -> MToken -> Maybe (FilePath -> LintMessage)
+checkShadows [] _ = Nothing
+checkShadows _ (MToken _ (Identifier "_")) = Nothing -- Exception for vars named '_'
+checkShadows (scope : scs) mtok' =
+  if M.member lbl scope
+    then Just $ warn (mpos mtok') $ VariableShadows lbl location
+    else checkShadows scs mtok'
+  where
+    lbl = tokenLabel mtok'
+    location = snd $ fromMaybe (error "checkShadows fromMaybe") $ M.lookup lbl scope
+
+-- Determines whether a variable is local
+-- It is local if it does not exist in any but the topmost (global) scope
+-- it may or may not exist in the topmost scope.
+isVariableLocal :: [M.Map String (Bool, Region)] -> String -> Bool
+isVariableLocal [] _ = False
+isVariableLocal [_] _ = False
+isVariableLocal (scope : scs) var =
+  case M.lookup var scope of
+    Just _ -> True
+    Nothing -> isVariableLocal scs var
+
+-- Registers a variable as global variable when it hasn't been
+-- introduced in any of the visible scopes
+registerVariable :: [M.Map String (Bool, Region)] -> Region -> String -> Bool -> [M.Map String (Bool, Region)]
+registerVariable [] _ _ _ = error "cannot register top level variable"
+registerVariable (scope : []) pos var used =
+  [ case M.lookup var scope of
+      Just (used', pos') -> M.insert var (used || used', pos') scope
+      Nothing -> M.insert var (used, pos) scope
+  ] -- global scope
+registerVariable (scope : scs) pos var used = case M.lookup var scope of
+  Just (True, _) -> scope : scs
+  Just (False, pos') -> M.insert var (used, pos') scope : scs
+  Nothing -> scope : registerVariable scs pos var used
+
+findSelf :: [MToken] -> Bool
+findSelf ((MToken _ (Identifier "self")) : _) = True
+findSelf _ = False
+
+data VariableStyle
+  = StartsLowerCase
+  | StartsUpperCase
+  | VariableStyleNeither
+  deriving (Eq)
+
+data DeterminedVariableStyle
+  = VarStyleNotDetermined
+  | VarStyleDetermined !VariableStyle
+
+combineDeterminedVarStyle :: DeterminedVariableStyle -> VariableStyle -> DeterminedVariableStyle
+combineDeterminedVarStyle old new = case old of
+  VarStyleNotDetermined -> VarStyleDetermined new
+  VarStyleDetermined VariableStyleNeither -> VarStyleDetermined new
+  _ -> old
+
+determineVariableStyle :: String -> VariableStyle
+determineVariableStyle = \case
+  [] -> VariableStyleNeither
+  (c : _)
+    | isLower c -> StartsLowerCase
+    | isUpper c -> StartsUpperCase
+    | otherwise -> VariableStyleNeither
+
+variableStyleInconsistent :: DeterminedVariableStyle -> VariableStyle -> Bool
+variableStyleInconsistent determinedStyle varStyle = case determinedStyle of
+  VarStyleNotDetermined -> False
+  VarStyleDetermined VariableStyleNeither -> False
+  VarStyleDetermined existing -> case varStyle of
+    VariableStyleNeither -> False
+    _ -> existing /= varStyle
+
+unknownIdentifier :: String
+unknownIdentifier = "Unknown identifier"
+
+{-# LINE 135 "src/GLuaFixer/AG/ASTLint.hs" #-}
+
+{-# LINE 647 "src/GLuaFixer/AG/ASTLint.ag" #-}
+
+inh_AST :: LintSettings -> Inh_AST
+inh_AST conf =
+  Inh_AST
+    { config_Inh_AST = conf
+    , isMeta_Inh_AST = False
+    , loopLevel_Inh_AST = 0
+    , globalDefinitions_Inh_AST = M.empty
+    , mtokenPos_Inh_AST = emptyRg
+    , scopeLevel_Inh_AST = 0
+    , scopes_Inh_AST = [M.empty]
+    , funcName_Inh_AST = ""
+    , isInModule_Inh_AST = False
+    , variableStyle_Inh_AST = VarStyleNotDetermined
+    }
+
+allAttributes :: LintSettings -> AST -> Syn_AST
+allAttributes conf p = wrap_AST (sem_AST p) (inh_AST conf)
+
+astWarnings :: LintSettings -> AST -> [String -> LintMessage]
+astWarnings conf p = warnings_Syn_AST $ allAttributes conf p
+
+globalDefinitions :: LintSettings -> AST -> M.Map String [Region]
+globalDefinitions conf p = globalDefinitions_Syn_AST $ allAttributes conf p
+{-# LINE 161 "src/GLuaFixer/AG/ASTLint.hs" #-}
+-- AReturn -----------------------------------------------------
+-- cata
+sem_AReturn
+  :: AReturn
+  -> T_AReturn
+sem_AReturn (AReturn _pos _values) =
+  (sem_AReturn_AReturn (sem_Region _pos) (sem_MExprList _values))
+sem_AReturn (NoReturn) =
+  (sem_AReturn_NoReturn)
+
+-- semantic domain
+type T_AReturn = (AReturn, T_AReturn_1)
+type T_AReturn_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_AReturn = Inh_AReturn {config_Inh_AReturn :: LintSettings, funcName_Inh_AReturn :: String, globalDefinitions_Inh_AReturn :: (M.Map String [Region]), isInModule_Inh_AReturn :: Bool, isMeta_Inh_AReturn :: Bool, loopLevel_Inh_AReturn :: Int, mtokenPos_Inh_AReturn :: Region, scopeLevel_Inh_AReturn :: Int, scopes_Inh_AReturn :: ([M.Map String (Bool, Region)]), variableStyle_Inh_AReturn :: DeterminedVariableStyle}
+data Syn_AReturn = Syn_AReturn {copy_Syn_AReturn :: AReturn, globalDefinitions_Syn_AReturn :: (M.Map String [Region]), identifier_Syn_AReturn :: String, isInModule_Syn_AReturn :: Bool, mtokenPos_Syn_AReturn :: Region, scopes_Syn_AReturn :: ([M.Map String (Bool, Region)]), statementCount_Syn_AReturn :: Int, variableStyle_Syn_AReturn :: DeterminedVariableStyle, warnings_Syn_AReturn :: ([String -> LintMessage])}
+wrap_AReturn
+  :: T_AReturn
+  -> Inh_AReturn
+  -> Syn_AReturn
+wrap_AReturn sem (Inh_AReturn _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_AReturn _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_AReturn_AReturn
+  :: T_Region
+  -> T_MExprList
+  -> T_AReturn
+sem_AReturn_AReturn pos_ values_ =
+  ( case (values_) of
+      (_valuesIcopy, values_1) ->
+        ( case (pos_) of
+            (_posIcopy, _posIidentifier, _posIwarnings) ->
+              ( case ( ( AReturn _posIcopy _valuesIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_AReturn_AReturn_1 :: T_AReturn_1
+                                      sem_AReturn_AReturn_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _valuesOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _valuesOisMeta ->
+                                                          ( case ( ( _lhsIisInModule
+                                                                   )
+                                                                 ) of
+                                                              _valuesOisInModule ->
+                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                         )
+                                                                       ) of
+                                                                    _valuesOglobalDefinitions ->
+                                                                      ( case ( ( _lhsIconfig
+                                                                               )
+                                                                             ) of
+                                                                          _valuesOconfig ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _valuesOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _valuesOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _valuesOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _valuesOloopLevel ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _valuesOfuncName ->
+                                                                                                          ( case ( ( True
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _valuesOtopLevel ->
+                                                                                                                ( case ( ( True
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _valuesOinParentheses ->
+                                                                                                                      ( case (values_1 _valuesOconfig _valuesOfuncName _valuesOglobalDefinitions _valuesOinParentheses _valuesOisInModule _valuesOisMeta _valuesOloopLevel _valuesOmtokenPos _valuesOscopeLevel _valuesOscopes _valuesOtopLevel _valuesOvariableStyle) of
+                                                                                                                          (_valuesIglobalDefinitions, _valuesIidentifier, _valuesIisInModule, _valuesImtokenPos, _valuesIscopes, _valuesIvariableStyle, _valuesIwarnings) ->
+                                                                                                                            ( case ( ( _valuesIglobalDefinitions
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOglobalDefinitions ->
+                                                                                                                                  ( case ( ( (const _posIidentifier _valuesIidentifier)
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOidentifier ->
+                                                                                                                                        ( case ( ( _valuesIisInModule
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOisInModule ->
+                                                                                                                                              ( case ( ( _posIcopy
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOmtokenPos ->
+                                                                                                                                                    ( case ( ( _valuesIscopes
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOscopes ->
+                                                                                                                                                          ( case ( ( 1
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOstatementCount ->
+                                                                                                                                                                ( case ( ( _valuesIvariableStyle
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOvariableStyle ->
+                                                                                                                                                                      ( case ( ( _posIwarnings ++ _valuesIwarnings
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_AReturn_AReturn_1
+                                   )
+                                 ) of
+                              (sem_AReturn_1) ->
+                                (_lhsOcopy, sem_AReturn_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_AReturn_NoReturn :: T_AReturn
+sem_AReturn_NoReturn =
+  ( case ( ( NoReturn
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_AReturn_NoReturn_1 :: T_AReturn_1
+                          sem_AReturn_NoReturn_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( 0
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOstatementCount ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_AReturn_NoReturn_1
+                       )
+                     ) of
+                  (sem_AReturn_1) ->
+                    (_lhsOcopy, sem_AReturn_1)
+              )
+        )
+  )
+
+-- AST ---------------------------------------------------------
+-- cata
+sem_AST
+  :: AST
+  -> T_AST
+sem_AST (AST _comments _chunk) =
+  (sem_AST_AST _comments (sem_Block _chunk))
+
+-- semantic domain
+type T_AST =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> (AST, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_AST = Inh_AST {config_Inh_AST :: LintSettings, funcName_Inh_AST :: String, globalDefinitions_Inh_AST :: (M.Map String [Region]), isInModule_Inh_AST :: Bool, isMeta_Inh_AST :: Bool, loopLevel_Inh_AST :: Int, mtokenPos_Inh_AST :: Region, scopeLevel_Inh_AST :: Int, scopes_Inh_AST :: ([M.Map String (Bool, Region)]), variableStyle_Inh_AST :: DeterminedVariableStyle}
+data Syn_AST = Syn_AST {copy_Syn_AST :: AST, globalDefinitions_Syn_AST :: (M.Map String [Region]), identifier_Syn_AST :: String, isInModule_Syn_AST :: Bool, mtokenPos_Syn_AST :: Region, scopes_Syn_AST :: ([M.Map String (Bool, Region)]), variableStyle_Syn_AST :: DeterminedVariableStyle, warnings_Syn_AST :: ([String -> LintMessage])}
+wrap_AST
+  :: T_AST
+  -> Inh_AST
+  -> Syn_AST
+wrap_AST sem (Inh_AST _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_AST _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_AST_AST
+  :: ([MToken])
+  -> T_Block
+  -> T_AST
+sem_AST_AST comments_ chunk_ =
+  ( \_lhsIconfig
+     _lhsIfuncName
+     _lhsIglobalDefinitions
+     _lhsIisInModule
+     _lhsIisMeta
+     _lhsIloopLevel
+     _lhsImtokenPos
+     _lhsIscopeLevel
+     _lhsIscopes
+     _lhsIvariableStyle ->
+        ( case (chunk_) of
+            (_chunkIcopy, chunk_1) ->
+              ( case ( ( AST comments_ _chunkIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( _lhsIisMeta
+                                   )
+                                 ) of
+                              _chunkOisMeta ->
+                                ( case ( ( _lhsIisInModule
+                                         )
+                                       ) of
+                                    _chunkOisInModule ->
+                                      ( case ( ( _lhsIglobalDefinitions
+                                               )
+                                             ) of
+                                          _chunkOglobalDefinitions ->
+                                            ( case ( ( _lhsIconfig
+                                                     )
+                                                   ) of
+                                                _chunkOconfig ->
+                                                  ( case ( ( M.empty : _lhsIscopes
+                                                           )
+                                                         ) of
+                                                      _chunkOscopes ->
+                                                        ( case ( ( _lhsIvariableStyle
+                                                                 )
+                                                               ) of
+                                                            _chunkOvariableStyle ->
+                                                              ( case ( ( _lhsIscopeLevel
+                                                                       )
+                                                                     ) of
+                                                                  _chunkOscopeLevel ->
+                                                                    ( case ( ( _lhsImtokenPos
+                                                                             )
+                                                                           ) of
+                                                                        _chunkOmtokenPos ->
+                                                                          ( case ( ( _lhsIloopLevel
+                                                                                   )
+                                                                                 ) of
+                                                                              _chunkOloopLevel ->
+                                                                                ( case ( ( _lhsIfuncName
+                                                                                         )
+                                                                                       ) of
+                                                                                    _chunkOfuncName ->
+                                                                                      ( case ( ( False
+                                                                                               )
+                                                                                             ) of
+                                                                                          _chunkOisRepeat ->
+                                                                                            ( case (chunk_1 _chunkOconfig _chunkOfuncName _chunkOglobalDefinitions _chunkOisInModule _chunkOisMeta _chunkOisRepeat _chunkOloopLevel _chunkOmtokenPos _chunkOscopeLevel _chunkOscopes _chunkOvariableStyle) of
+                                                                                                (_chunkIglobalDefinitions, _chunkIidentifier, _chunkIisIfStatement, _chunkIisInModule, _chunkImtokenPos, _chunkIscopes, _chunkIstatementCount, _chunkIvariableStyle, _chunkIwarnings) ->
+                                                                                                  ( case ( ( _chunkIglobalDefinitions
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _lhsOglobalDefinitions ->
+                                                                                                        ( case ( ( _chunkIidentifier
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOidentifier ->
+                                                                                                              ( case ( ( _chunkIisInModule
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOisInModule ->
+                                                                                                                    ( case ( ( _chunkImtokenPos
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _lhsOmtokenPos ->
+                                                                                                                          ( case ( ( _chunkIscopes
+                                                                                                                                   )
+                                                                                                                                 ) of
+                                                                                                                              _lhsOscopes ->
+                                                                                                                                ( case ( ( _chunkIvariableStyle
+                                                                                                                                         )
+                                                                                                                                       ) of
+                                                                                                                                    _lhsOvariableStyle ->
+                                                                                                                                      ( case ( ( _chunkIwarnings
+                                                                                                                                               )
+                                                                                                                                             ) of
+                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                            (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                      )
+                                                                                                                                )
+                                                                                                                          )
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- Args --------------------------------------------------------
+-- cata
+sem_Args
+  :: Args
+  -> T_Args
+sem_Args (ListArgs _args) =
+  (sem_Args_ListArgs (sem_MExprList _args))
+sem_Args (TableArg _arg) =
+  (sem_Args_TableArg (sem_FieldList _arg))
+sem_Args (StringArg _arg) =
+  (sem_Args_StringArg (sem_MToken _arg))
+
+-- semantic domain
+type T_Args = (Args, T_Args_1)
+type T_Args_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Args = Inh_Args {config_Inh_Args :: LintSettings, funcName_Inh_Args :: String, globalDefinitions_Inh_Args :: (M.Map String [Region]), isInModule_Inh_Args :: Bool, isMeta_Inh_Args :: Bool, loopLevel_Inh_Args :: Int, mtokenPos_Inh_Args :: Region, scopeLevel_Inh_Args :: Int, scopes_Inh_Args :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Args :: DeterminedVariableStyle}
+data Syn_Args = Syn_Args {copy_Syn_Args :: Args, globalDefinitions_Syn_Args :: (M.Map String [Region]), identifier_Syn_Args :: String, isInModule_Syn_Args :: Bool, mtokenPos_Syn_Args :: Region, scopes_Syn_Args :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Args :: DeterminedVariableStyle, warnings_Syn_Args :: ([String -> LintMessage])}
+wrap_Args
+  :: T_Args
+  -> Inh_Args
+  -> Syn_Args
+wrap_Args sem (Inh_Args _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_Args _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Args_ListArgs
+  :: T_MExprList
+  -> T_Args
+sem_Args_ListArgs args_ =
+  ( case (args_) of
+      (_argsIcopy, args_1) ->
+        ( case ( ( ListArgs _argsIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Args_ListArgs_1 :: T_Args_1
+                                sem_Args_ListArgs_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _argsOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _argsOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _argsOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _argsOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _argsOconfig ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _argsOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _argsOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _argsOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _argsOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _argsOfuncName ->
+                                                                                                    ( case ( ( True
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _argsOtopLevel ->
+                                                                                                          ( case ( ( True
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _argsOinParentheses ->
+                                                                                                                ( case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOinParentheses _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOtopLevel _argsOvariableStyle) of
+                                                                                                                    (_argsIglobalDefinitions, _argsIidentifier, _argsIisInModule, _argsImtokenPos, _argsIscopes, _argsIvariableStyle, _argsIwarnings) ->
+                                                                                                                      ( case ( ( _argsIglobalDefinitions
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOglobalDefinitions ->
+                                                                                                                            ( case ( ( _argsIidentifier
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOidentifier ->
+                                                                                                                                  ( case ( ( _argsIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                        ( case ( ( _argsImtokenPos
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                              ( case ( ( _argsIscopes
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                    ( case ( ( _argsIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                          ( case ( ( _argsIwarnings
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOwarnings ->
+                                                                                                                                                                (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Args_ListArgs_1
+                             )
+                           ) of
+                        (sem_Args_1) ->
+                          (_lhsOcopy, sem_Args_1)
+                    )
+              )
+        )
+  )
+sem_Args_TableArg
+  :: T_FieldList
+  -> T_Args
+sem_Args_TableArg arg_ =
+  ( case (arg_) of
+      (_argIcopy, arg_1) ->
+        ( case ( ( TableArg _argIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Args_TableArg_1 :: T_Args_1
+                                sem_Args_TableArg_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _argOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _argOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _argOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _argOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _argOconfig ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _argOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _argOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _argOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _argOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _argOfuncName ->
+                                                                                                    ( case ( ( S.empty
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _argOfieldNames ->
+                                                                                                          ( case (arg_1 _argOconfig _argOfieldNames _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOloopLevel _argOmtokenPos _argOscopeLevel _argOscopes _argOvariableStyle) of
+                                                                                                              (_argIfieldNames, _argIglobalDefinitions, _argIidentifier, _argIisInModule, _argImtokenPos, _argIscopes, _argIvariableStyle, _argIwarnings) ->
+                                                                                                                ( case ( ( _argIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _argIidentifier
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( _argIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisInModule ->
+                                                                                                                                  ( case ( ( _argImtokenPos
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                        ( case ( ( _argIscopes
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOscopes ->
+                                                                                                                                              ( case ( ( _argIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                    ( case ( ( _argIwarnings
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                          (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Args_TableArg_1
+                             )
+                           ) of
+                        (sem_Args_1) ->
+                          (_lhsOcopy, sem_Args_1)
+                    )
+              )
+        )
+  )
+sem_Args_StringArg
+  :: T_MToken
+  -> T_Args
+sem_Args_StringArg arg_ =
+  ( case (arg_) of
+      (_argIcopy, _argImtok, _argImtokenPos, arg_1) ->
+        ( case ( ( StringArg _argIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Args_StringArg_1 :: T_Args_1
+                                sem_Args_StringArg_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _argOglobalDefinitions ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _argOscopes ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _argOmtokenPos ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _argOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _argOisInModule ->
+                                                                      ( case ( ( _lhsIfuncName
+                                                                               )
+                                                                             ) of
+                                                                          _argOfuncName ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _argOconfig ->
+                                                                                  ( case (arg_1 _argOconfig _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOmtokenPos _argOscopes) of
+                                                                                      (_argIglobalDefinitions, _argIidentifier, _argIisInModule, _argIscopes, _argIwarnings) ->
+                                                                                        ( case ( ( _argIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _lhsOglobalDefinitions ->
+                                                                                              ( case ( ( _argIidentifier
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _lhsOidentifier ->
+                                                                                                    ( case ( ( _argIisInModule
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _lhsOisInModule ->
+                                                                                                          ( case ( ( _argImtokenPos
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _lhsOmtokenPos ->
+                                                                                                                ( case ( ( _argIscopes
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOscopes ->
+                                                                                                                      ( case ( ( _lhsIvariableStyle
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOvariableStyle ->
+                                                                                                                            ( case ( ( _argIwarnings
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOwarnings ->
+                                                                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Args_StringArg_1
+                             )
+                           ) of
+                        (sem_Args_1) ->
+                          (_lhsOcopy, sem_Args_1)
+                    )
+              )
+        )
+  )
+
+-- BinOp -------------------------------------------------------
+-- cata
+sem_BinOp
+  :: BinOp
+  -> T_BinOp
+sem_BinOp (AOr) =
+  (sem_BinOp_AOr)
+sem_BinOp (AAnd) =
+  (sem_BinOp_AAnd)
+sem_BinOp (ALT) =
+  (sem_BinOp_ALT)
+sem_BinOp (AGT) =
+  (sem_BinOp_AGT)
+sem_BinOp (ALEQ) =
+  (sem_BinOp_ALEQ)
+sem_BinOp (AGEQ) =
+  (sem_BinOp_AGEQ)
+sem_BinOp (ANEq) =
+  (sem_BinOp_ANEq)
+sem_BinOp (AEq) =
+  (sem_BinOp_AEq)
+sem_BinOp (AConcatenate) =
+  (sem_BinOp_AConcatenate)
+sem_BinOp (APlus) =
+  (sem_BinOp_APlus)
+sem_BinOp (BinMinus) =
+  (sem_BinOp_BinMinus)
+sem_BinOp (AMultiply) =
+  (sem_BinOp_AMultiply)
+sem_BinOp (ADivide) =
+  (sem_BinOp_ADivide)
+sem_BinOp (AModulus) =
+  (sem_BinOp_AModulus)
+sem_BinOp (APower) =
+  (sem_BinOp_APower)
+
+-- semantic domain
+type T_BinOp = (BinOp, T_BinOp_1)
+type T_BinOp_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_BinOp = Inh_BinOp {config_Inh_BinOp :: LintSettings, funcName_Inh_BinOp :: String, globalDefinitions_Inh_BinOp :: (M.Map String [Region]), isInModule_Inh_BinOp :: Bool, isMeta_Inh_BinOp :: Bool, loopLevel_Inh_BinOp :: Int, mtokenPos_Inh_BinOp :: Region, scopeLevel_Inh_BinOp :: Int, scopes_Inh_BinOp :: ([M.Map String (Bool, Region)]), variableStyle_Inh_BinOp :: DeterminedVariableStyle}
+data Syn_BinOp = Syn_BinOp {copy_Syn_BinOp :: BinOp, globalDefinitions_Syn_BinOp :: (M.Map String [Region]), identifier_Syn_BinOp :: String, isInModule_Syn_BinOp :: Bool, mtokenPos_Syn_BinOp :: Region, scopes_Syn_BinOp :: ([M.Map String (Bool, Region)]), variableStyle_Syn_BinOp :: DeterminedVariableStyle, warnings_Syn_BinOp :: ([String -> LintMessage])}
+wrap_BinOp
+  :: T_BinOp
+  -> Inh_BinOp
+  -> Syn_BinOp
+wrap_BinOp sem (Inh_BinOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_BinOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_BinOp_AOr :: T_BinOp
+sem_BinOp_AOr =
+  ( case ( ( AOr
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AOr_1 :: T_BinOp_1
+                          sem_BinOp_AOr_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AOr_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AAnd :: T_BinOp
+sem_BinOp_AAnd =
+  ( case ( ( AAnd
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AAnd_1 :: T_BinOp_1
+                          sem_BinOp_AAnd_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AAnd_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_ALT :: T_BinOp
+sem_BinOp_ALT =
+  ( case ( ( ALT
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_ALT_1 :: T_BinOp_1
+                          sem_BinOp_ALT_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_ALT_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AGT :: T_BinOp
+sem_BinOp_AGT =
+  ( case ( ( AGT
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AGT_1 :: T_BinOp_1
+                          sem_BinOp_AGT_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AGT_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_ALEQ :: T_BinOp
+sem_BinOp_ALEQ =
+  ( case ( ( ALEQ
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_ALEQ_1 :: T_BinOp_1
+                          sem_BinOp_ALEQ_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_ALEQ_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AGEQ :: T_BinOp
+sem_BinOp_AGEQ =
+  ( case ( ( AGEQ
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AGEQ_1 :: T_BinOp_1
+                          sem_BinOp_AGEQ_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AGEQ_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_ANEq :: T_BinOp
+sem_BinOp_ANEq =
+  ( case ( ( ANEq
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_ANEq_1 :: T_BinOp_1
+                          sem_BinOp_ANEq_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_ANEq_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AEq :: T_BinOp
+sem_BinOp_AEq =
+  ( case ( ( AEq
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AEq_1 :: T_BinOp_1
+                          sem_BinOp_AEq_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AEq_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AConcatenate :: T_BinOp
+sem_BinOp_AConcatenate =
+  ( case ( ( AConcatenate
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AConcatenate_1 :: T_BinOp_1
+                          sem_BinOp_AConcatenate_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AConcatenate_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_APlus :: T_BinOp
+sem_BinOp_APlus =
+  ( case ( ( APlus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_APlus_1 :: T_BinOp_1
+                          sem_BinOp_APlus_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_APlus_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_BinMinus :: T_BinOp
+sem_BinOp_BinMinus =
+  ( case ( ( BinMinus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_BinMinus_1 :: T_BinOp_1
+                          sem_BinOp_BinMinus_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_BinMinus_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AMultiply :: T_BinOp
+sem_BinOp_AMultiply =
+  ( case ( ( AMultiply
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AMultiply_1 :: T_BinOp_1
+                          sem_BinOp_AMultiply_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AMultiply_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_ADivide :: T_BinOp
+sem_BinOp_ADivide =
+  ( case ( ( ADivide
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_ADivide_1 :: T_BinOp_1
+                          sem_BinOp_ADivide_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_ADivide_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_AModulus :: T_BinOp
+sem_BinOp_AModulus =
+  ( case ( ( AModulus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_AModulus_1 :: T_BinOp_1
+                          sem_BinOp_AModulus_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_AModulus_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+sem_BinOp_APower :: T_BinOp
+sem_BinOp_APower =
+  ( case ( ( APower
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_BinOp_APower_1 :: T_BinOp_1
+                          sem_BinOp_APower_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_BinOp_APower_1
+                       )
+                     ) of
+                  (sem_BinOp_1) ->
+                    (_lhsOcopy, sem_BinOp_1)
+              )
+        )
+  )
+
+-- Block -------------------------------------------------------
+-- cata
+sem_Block
+  :: Block
+  -> T_Block
+sem_Block (Block _stats _ret) =
+  (sem_Block_Block (sem_MStatList _stats) (sem_AReturn _ret))
+
+-- semantic domain
+type T_Block = (Block, T_Block_1)
+type T_Block_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Block = Inh_Block {config_Inh_Block :: LintSettings, funcName_Inh_Block :: String, globalDefinitions_Inh_Block :: (M.Map String [Region]), isInModule_Inh_Block :: Bool, isMeta_Inh_Block :: Bool, isRepeat_Inh_Block :: Bool, loopLevel_Inh_Block :: Int, mtokenPos_Inh_Block :: Region, scopeLevel_Inh_Block :: Int, scopes_Inh_Block :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Block :: DeterminedVariableStyle}
+data Syn_Block = Syn_Block {copy_Syn_Block :: Block, globalDefinitions_Syn_Block :: (M.Map String [Region]), identifier_Syn_Block :: String, isIfStatement_Syn_Block :: Bool, isInModule_Syn_Block :: Bool, mtokenPos_Syn_Block :: Region, scopes_Syn_Block :: ([M.Map String (Bool, Region)]), statementCount_Syn_Block :: Int, variableStyle_Syn_Block :: DeterminedVariableStyle, warnings_Syn_Block :: ([String -> LintMessage])}
+wrap_Block
+  :: T_Block
+  -> Inh_Block
+  -> Syn_Block
+wrap_Block sem (Inh_Block _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_Block _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Block_Block
+  :: T_MStatList
+  -> T_AReturn
+  -> T_Block
+sem_Block_Block stats_ ret_ =
+  ( case (ret_) of
+      (_retIcopy, ret_1) ->
+        ( case (stats_) of
+            (_statsIcopy, stats_1) ->
+              ( case ( ( Block _statsIcopy _retIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Block_Block_1 :: T_Block_1
+                                      sem_Block_Block_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIisRepeat
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _statsOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _statsOisMeta ->
+                                                          ( case ( ( _lhsIconfig
+                                                                   )
+                                                                 ) of
+                                                              _statsOconfig ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _statsOvariableStyle ->
+                                                                      ( case ( ( _lhsImtokenPos
+                                                                               )
+                                                                             ) of
+                                                                          _statsOmtokenPos ->
+                                                                            ( case ( ( _lhsIloopLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _statsOloopLevel ->
+                                                                                  ( case ( ( _lhsIisInModule
+                                                                                           )
+                                                                                         ) of
+                                                                                      _statsOisInModule ->
+                                                                                        ( case ( ( _lhsIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _statsOglobalDefinitions ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _statsOfuncName ->
+                                                                                                    ( case ( ( _lhsIscopeLevel + 1
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _statsOscopeLevel ->
+                                                                                                          ( case (stats_1 _statsOconfig _statsOfuncName _statsOglobalDefinitions _statsOisInModule _statsOisMeta _statsOloopLevel _statsOmtokenPos _statsOscopeLevel _statsOscopes _statsOvariableStyle) of
+                                                                                                              (_statsIglobalDefinitions, _statsIidentifier, _statsIisIfStatement, _statsIisInModule, _statsImtokenPos, _statsIscopes, _statsIstatementCount, _statsIvariableStyle, _statsIwarnings) ->
+                                                                                                                ( case ( ( _statsIscopes
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _retOscopes ->
+                                                                                                                      ( case ( ( _lhsIisMeta
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _retOisMeta ->
+                                                                                                                            ( case ( ( _statsIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _retOisInModule ->
+                                                                                                                                  ( case ( ( _statsIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _retOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _retOconfig ->
+                                                                                                                                              ( case ( ( _statsIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _retOvariableStyle ->
+                                                                                                                                                    ( case ( ( _lhsIscopeLevel
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _retOscopeLevel ->
+                                                                                                                                                          ( case ( ( _statsImtokenPos
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _retOmtokenPos ->
+                                                                                                                                                                ( case ( ( _lhsIloopLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _retOloopLevel ->
+                                                                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _retOfuncName ->
+                                                                                                                                                                            ( case (ret_1 _retOconfig _retOfuncName _retOglobalDefinitions _retOisInModule _retOisMeta _retOloopLevel _retOmtokenPos _retOscopeLevel _retOscopes _retOvariableStyle) of
+                                                                                                                                                                                (_retIglobalDefinitions, _retIidentifier, _retIisInModule, _retImtokenPos, _retIscopes, _retIstatementCount, _retIvariableStyle, _retIwarnings) ->
+                                                                                                                                                                                  ( case ( ( _retIglobalDefinitions
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOglobalDefinitions ->
+                                                                                                                                                                                        ( case ( ( (const _statsIidentifier _retIidentifier)
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOidentifier ->
+                                                                                                                                                                                              ( case ( ( _statsIisIfStatement
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOisIfStatement ->
+                                                                                                                                                                                                    ( case ( ( _retIisInModule
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOisInModule ->
+                                                                                                                                                                                                          ( case ( ( _retImtokenPos
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOmtokenPos ->
+                                                                                                                                                                                                                ( case ( ( if _lhsIisRepeat then _retIscopes else tail _retIscopes
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOscopes ->
+                                                                                                                                                                                                                      ( case ( ( _statsIstatementCount + _retIstatementCount
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOstatementCount ->
+                                                                                                                                                                                                                            ( case ( ( _retIvariableStyle
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOvariableStyle ->
+                                                                                                                                                                                                                                  ( case ( ( _statsIwarnings ++ _retIwarnings
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _warnings_augmented_syn ->
+                                                                                                                                                                                                                                        ( case ( ( M.filterWithKey (\k (b, _) -> not (null k) && head k /= '_' && not b) (head _retIscopes)
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _deadVars ->
+                                                                                                                                                                                                                                              ( case ( ( lint_maxScopeDepth _lhsIconfig
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _maxScopeDepth ->
+                                                                                                                                                                                                                                                    ( case ( ( if _maxScopeDepth == 0 || _lhsIscopeLevel /= _maxScopeDepth
+                                                                                                                                                                                                                                                                then id
+                                                                                                                                                                                                                                                                else (:) $ warn _statsImtokenPos ScopePyramids
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                          ( case ( ( if not (lint_unusedVars _lhsIconfig) || _lhsIisRepeat
+                                                                                                                                                                                                                                                                      then id
+                                                                                                                                                                                                                                                                      else (++) $ M.foldrWithKey (\k (_, pos) ls -> warn pos (UnusedVariable k) : ls) [] _deadVars
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _lhsOwarnings ->
+                                                                                                                                                                                                                                                                      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Block_Block_1
+                                   )
+                                 ) of
+                              (sem_Block_1) ->
+                                (_lhsOcopy, sem_Block_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- Declaration -------------------------------------------------
+-- cata
+sem_Declaration
+  :: Declaration
+  -> T_Declaration
+sem_Declaration (x1, x2) =
+  (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))
+
+-- semantic domain
+type T_Declaration = (Declaration, T_Declaration_1)
+type T_Declaration_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Declaration = Inh_Declaration {config_Inh_Declaration :: LintSettings, funcName_Inh_Declaration :: String, globalDefinitions_Inh_Declaration :: (M.Map String [Region]), isInModule_Inh_Declaration :: Bool, isMeta_Inh_Declaration :: Bool, localDefinition_Inh_Declaration :: Bool, loopLevel_Inh_Declaration :: Int, mtokenPos_Inh_Declaration :: Region, scopeLevel_Inh_Declaration :: Int, scopes_Inh_Declaration :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Declaration :: DeterminedVariableStyle}
+data Syn_Declaration = Syn_Declaration {copy_Syn_Declaration :: Declaration, globalDefinitions_Syn_Declaration :: (M.Map String [Region]), identifier_Syn_Declaration :: String, isInModule_Syn_Declaration :: Bool, mtokenPos_Syn_Declaration :: Region, scopes_Syn_Declaration :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Declaration :: DeterminedVariableStyle, warnings_Syn_Declaration :: ([String -> LintMessage])}
+wrap_Declaration
+  :: T_Declaration
+  -> Inh_Declaration
+  -> Syn_Declaration
+wrap_Declaration sem (Inh_Declaration _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_Declaration _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Declaration_Tuple
+  :: T_PrefixExp
+  -> T_MaybeMExpr
+  -> T_Declaration
+sem_Declaration_Tuple x1_ x2_ =
+  ( case (x2_) of
+      (_x2Icopy, x2_1) ->
+        ( case (x1_) of
+            (_x1Icopy, _x1IhasSuffixes, _x1ImtokenPos, _x1IvarName, x1_1) ->
+              ( case ( ( (_x1Icopy, _x2Icopy)
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Declaration_Tuple_1 :: T_Declaration_1
+                                      sem_Declaration_Tuple_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIlocalDefinition
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _x1OisMeta ->
+                                                    ( case ( ( _lhsIconfig
+                                                             )
+                                                           ) of
+                                                        _x1Oconfig ->
+                                                          ( case ( ( tokenLabel . fromMaybe (error "fromMaybe sem Declaration loc.var") $ _x1IvarName
+                                                                   )
+                                                                 ) of
+                                                              _var ->
+                                                                ( case ( ( if _lhsIlocalDefinition
+                                                                            then M.insert _var (False, _x1ImtokenPos) (head _lhsIscopes) : tail _lhsIscopes
+                                                                            else
+                                                                              if isJust _x1IvarName
+                                                                                then registerVariable _lhsIscopes _x1ImtokenPos _var _x1IhasSuffixes
+                                                                                else _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _x1Oscopes ->
+                                                                      ( case ( ( Nothing
+                                                                               )
+                                                                             ) of
+                                                                          _x1OvarBeingDefined ->
+                                                                            ( case ( ( False
+                                                                                     )
+                                                                                   ) of
+                                                                                _x1OregisterVarUse ->
+                                                                                  ( case ( ( _lhsIvariableStyle
+                                                                                           )
+                                                                                         ) of
+                                                                                      _x1OvariableStyle ->
+                                                                                        ( case ( ( _lhsIscopeLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _x1OscopeLevel ->
+                                                                                              ( case ( ( _lhsImtokenPos
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _x1OmtokenPos ->
+                                                                                                    ( case ( ( _lhsIloopLevel
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _x1OloopLevel ->
+                                                                                                          ( case ( ( _lhsIisInModule
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _x1OisInModule ->
+                                                                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _x1OglobalDefinitions ->
+                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _x1OfuncName ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _x1OtopLevel ->
+                                                                                                                                  ( case ( ( False
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _x1OinParentheses ->
+                                                                                                                                        ( case ( ( False
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _x1OisNegation ->
+                                                                                                                                              ( case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OregisterVarUse _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of
+                                                                                                                                                  (_x1IglobalDefinitions, _x1Iidentifier, _x1IisInModule, _x1IisSimpleExpression, _x1IisSingleVar, _x1Iscopes, _x1IvariableStyle, _x1Iwarnings) ->
+                                                                                                                                                    ( case ( ( _x1Iscopes
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _x2Oscopes ->
+                                                                                                                                                          ( case ( ( _lhsIisMeta
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _x2OisMeta ->
+                                                                                                                                                                ( case ( ( _x1IisInModule
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _x2OisInModule ->
+                                                                                                                                                                      ( case ( ( _x1IglobalDefinitions
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _x2OglobalDefinitions ->
+                                                                                                                                                                            ( case ( ( _lhsIconfig
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _x2Oconfig ->
+                                                                                                                                                                                  ( case ( ( if _x1IhasSuffixes || not _lhsIlocalDefinition then Nothing else _x1IvarName
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _x2OvarBeingDefined ->
+                                                                                                                                                                                        ( case ( ( _x1IvariableStyle
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _x2OvariableStyle ->
+                                                                                                                                                                                              ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _x2OscopeLevel ->
+                                                                                                                                                                                                    ( case ( ( _x1ImtokenPos
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _x2OmtokenPos ->
+                                                                                                                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _x2OloopLevel ->
+                                                                                                                                                                                                                ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _x2OfuncName ->
+                                                                                                                                                                                                                      ( case ( ( False
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _x2OisNegation ->
+                                                                                                                                                                                                                            ( case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisNegation _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvarBeingDefined _x2OvariableStyle) of
+                                                                                                                                                                                                                                (_x2IglobalDefinitions, _x2Iidentifier, _x2IisInModule, _x2IisSingleVar, _x2ImtokenPos, _x2Iscopes, _x2IvariableStyle, _x2Iwarnings) ->
+                                                                                                                                                                                                                                  ( case ( ( _x2IglobalDefinitions
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _globalDefinitions_augmented_syn ->
+                                                                                                                                                                                                                                        ( case ( ( if _lhsIisInModule || _lhsIlocalDefinition || isVariableLocal _lhsIscopes _var || _x1IhasSuffixes
+                                                                                                                                                                                                                                                    then id
+                                                                                                                                                                                                                                                    else M.insertWith (++) _var [_x1ImtokenPos]
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _globalDefinitions_augmented_f1 ->
+                                                                                                                                                                                                                                              ( case ( ( foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                                    ( case ( ( (const _x1Iidentifier _x2Iidentifier)
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOidentifier ->
+                                                                                                                                                                                                                                                          ( case ( ( _x2IisInModule
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _lhsOisInModule ->
+                                                                                                                                                                                                                                                                ( case ( ( _x1ImtokenPos
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                                      ( case ( ( _x2Iscopes
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _lhsOscopes ->
+                                                                                                                                                                                                                                                                            ( case ( ( determineVariableStyle _var
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _varStyle ->
+                                                                                                                                                                                                                                                                                  ( case ( ( if _lhsIlocalDefinition then combineDeterminedVarStyle _lhsIvariableStyle _varStyle else _lhsIvariableStyle
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                                        ( case ( ( _x1Iwarnings ++ _x2Iwarnings
+                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                            _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                                              ( case ( ( do
+                                                                                                                                                                                                                                                                                                          var <- _x1IvarName
+                                                                                                                                                                                                                                                                                                          if (Just var /= _x2IisSingleVar)
+                                                                                                                                                                                                                                                                                                            then checkShadows _lhsIscopes var
+                                                                                                                                                                                                                                                                                                            else Nothing
+                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                  _shadowWarning ->
+                                                                                                                                                                                                                                                                                                    ( case ( ( if not (lint_shadowing _lhsIconfig) || not _lhsIlocalDefinition || isNothing _shadowWarning
+                                                                                                                                                                                                                                                                                                                then id
+                                                                                                                                                                                                                                                                                                                else (:) . fromMaybe (error "fromMaybe sem Declaration +warnings") $ _shadowWarning
+                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                        _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                                                                          ( case ( ( if not (lint_inconsistentVariableStyle _lhsIconfig) || not _lhsIlocalDefinition || not (variableStyleInconsistent _lhsIvariableStyle _varStyle)
+                                                                                                                                                                                                                                                                                                                      then id
+                                                                                                                                                                                                                                                                                                                      else (:) $ warn _x1ImtokenPos InconsistentVariableNaming
+                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                              _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                                                ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                    _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                                                      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Declaration_Tuple_1
+                                   )
+                                 ) of
+                              (sem_Declaration_1) ->
+                                (_lhsOcopy, sem_Declaration_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- Else --------------------------------------------------------
+-- cata
+sem_Else
+  :: Else
+  -> T_Else
+sem_Else (Prelude.Just x) =
+  (sem_Else_Just (sem_MElse x))
+sem_Else Prelude.Nothing =
+  sem_Else_Nothing
+
+-- semantic domain
+type T_Else = (Else, T_Else_1)
+type T_Else_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> (Bool, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Else = Inh_Else {config_Inh_Else :: LintSettings, funcName_Inh_Else :: String, globalDefinitions_Inh_Else :: (M.Map String [Region]), isInModule_Inh_Else :: Bool, isMeta_Inh_Else :: Bool, loopLevel_Inh_Else :: Int, mtokenPos_Inh_Else :: Region, scopeLevel_Inh_Else :: Int, scopes_Inh_Else :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Else :: DeterminedVariableStyle}
+data Syn_Else = Syn_Else {copy_Syn_Else :: Else, elseExists_Syn_Else :: Bool, globalDefinitions_Syn_Else :: (M.Map String [Region]), identifier_Syn_Else :: String, isInModule_Syn_Else :: Bool, mtokenPos_Syn_Else :: Region, scopes_Syn_Else :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Else :: DeterminedVariableStyle, warnings_Syn_Else :: ([String -> LintMessage])}
+wrap_Else
+  :: T_Else
+  -> Inh_Else
+  -> Syn_Else
+wrap_Else sem (Inh_Else _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_Else _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Else_Just
+  :: T_MElse
+  -> T_Else
+sem_Else_Just just_ =
+  ( case (just_) of
+      (_justIcopy, just_1) ->
+        ( case ( ( Just _justIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Else_Just_1 :: T_Else_1
+                                sem_Else_Just_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( True
+                                                 )
+                                               ) of
+                                            _lhsOelseExists ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _justOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _justOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _justOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _justOconfig ->
+                                                                      ( case ( ( M.empty : _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _justOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _justOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _justOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _justOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _justOloopLevel ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _justOfuncName ->
+                                                                                                          ( case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOisInModule _justOisMeta _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOvariableStyle) of
+                                                                                                              (_justIelseExists, _justIglobalDefinitions, _justIidentifier, _justIisInModule, _justImtokenPos, _justIscopes, _justIstatementCount, _justIvariableStyle, _justIwarnings) ->
+                                                                                                                ( case ( ( _justIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _justIidentifier
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( _justIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisInModule ->
+                                                                                                                                  ( case ( ( _justImtokenPos
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                        ( case ( ( _justIscopes
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOscopes ->
+                                                                                                                                              ( case ( ( _justIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                    ( case ( ( _justIwarnings
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _warnings_augmented_syn ->
+                                                                                                                                                          ( case ( ( Region (rgStart _justImtokenPos) (customAdvanceToken (rgStart _justImtokenPos) T.Else)
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _keywordPos ->
+                                                                                                                                                                ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _justIstatementCount > 0
+                                                                                                                                                                            then id
+                                                                                                                                                                            else (:) $ warn _keywordPos EmptyElse
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                            (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Else_Just_1
+                             )
+                           ) of
+                        (sem_Else_1) ->
+                          (_lhsOcopy, sem_Else_1)
+                    )
+              )
+        )
+  )
+sem_Else_Nothing :: T_Else
+sem_Else_Nothing =
+  ( case ( ( Nothing
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Else_Nothing_1 :: T_Else_1
+                          sem_Else_Nothing_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( False
+                                           )
+                                         ) of
+                                      _lhsOelseExists ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _lhsOglobalDefinitions ->
+                                              ( case ( ( unknownIdentifier
+                                                       )
+                                                     ) of
+                                                  _lhsOidentifier ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _lhsOisInModule ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Else_Nothing_1
+                       )
+                     ) of
+                  (sem_Else_1) ->
+                    (_lhsOcopy, sem_Else_1)
+              )
+        )
+  )
+
+-- ElseIf ------------------------------------------------------
+-- cata
+sem_ElseIf
+  :: ElseIf
+  -> T_ElseIf
+sem_ElseIf (x1, x2) =
+  (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))
+
+-- semantic domain
+type T_ElseIf = (ElseIf, T_ElseIf_1)
+type T_ElseIf_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_ElseIf = Inh_ElseIf {config_Inh_ElseIf :: LintSettings, funcName_Inh_ElseIf :: String, globalDefinitions_Inh_ElseIf :: (M.Map String [Region]), isInModule_Inh_ElseIf :: Bool, isMeta_Inh_ElseIf :: Bool, loopLevel_Inh_ElseIf :: Int, mtokenPos_Inh_ElseIf :: Region, scopeLevel_Inh_ElseIf :: Int, scopes_Inh_ElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Inh_ElseIf :: DeterminedVariableStyle}
+data Syn_ElseIf = Syn_ElseIf {copy_Syn_ElseIf :: ElseIf, globalDefinitions_Syn_ElseIf :: (M.Map String [Region]), identifier_Syn_ElseIf :: String, isInModule_Syn_ElseIf :: Bool, mtokenPos_Syn_ElseIf :: Region, scopes_Syn_ElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Syn_ElseIf :: DeterminedVariableStyle, warnings_Syn_ElseIf :: ([String -> LintMessage])}
+wrap_ElseIf
+  :: T_ElseIf
+  -> Inh_ElseIf
+  -> Syn_ElseIf
+wrap_ElseIf sem (Inh_ElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_ElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_ElseIf_Tuple
+  :: T_MExpr
+  -> T_Block
+  -> T_ElseIf
+sem_ElseIf_Tuple x1_ x2_ =
+  ( case (x2_) of
+      (_x2Icopy, x2_1) ->
+        ( case (x1_) of
+            (_x1Icopy, _x1ImtokenPos, x1_1) ->
+              ( case ( ( (_x1Icopy, _x2Icopy)
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_ElseIf_Tuple_1 :: T_ElseIf_1
+                                      sem_ElseIf_Tuple_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _x2OisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _x1OisInModule ->
+                                                          ( case ( ( _lhsIvariableStyle
+                                                                   )
+                                                                 ) of
+                                                              _x1OvariableStyle ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _x1Oscopes ->
+                                                                      ( case ( ( _lhsIscopeLevel
+                                                                               )
+                                                                             ) of
+                                                                          _x1OscopeLevel ->
+                                                                            ( case ( ( _lhsImtokenPos
+                                                                                     )
+                                                                                   ) of
+                                                                                _x1OmtokenPos ->
+                                                                                  ( case ( ( _lhsIloopLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _x1OloopLevel ->
+                                                                                        ( case ( ( _lhsIisMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _x1OisMeta ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _x1OglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _x1OfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _x1Oconfig ->
+                                                                                                                ( case ( ( Nothing
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _x1OvarBeingDefined ->
+                                                                                                                      ( case ( ( True
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _x1OtopLevel ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _x1OinParentheses ->
+                                                                                                                                  ( case ( ( False
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _x1OisNegation ->
+                                                                                                                                        ( case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of
+                                                                                                                                            (_x1IglobalDefinitions, _x1Iidentifier, _x1IisInModule, _x1IisSimpleExpression, _x1IisSingleVar, _x1Iscopes, _x1IvariableStyle, _x1Iwarnings) ->
+                                                                                                                                              ( case ( ( _x1IisInModule
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _x2OisInModule ->
+                                                                                                                                                    ( case ( ( _x1IglobalDefinitions
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _x2OglobalDefinitions ->
+                                                                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _x2Oconfig ->
+                                                                                                                                                                ( case ( ( M.empty : _x1Iscopes
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _x2Oscopes ->
+                                                                                                                                                                      ( case ( ( _x1IvariableStyle
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _x2OvariableStyle ->
+                                                                                                                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _x2OscopeLevel ->
+                                                                                                                                                                                  ( case ( ( _x1ImtokenPos
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _x2OmtokenPos ->
+                                                                                                                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _x2OloopLevel ->
+                                                                                                                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _x2OfuncName ->
+                                                                                                                                                                                                    ( case ( ( False
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _x2OisRepeat ->
+                                                                                                                                                                                                          ( case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisRepeat _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvariableStyle) of
+                                                                                                                                                                                                              (_x2IglobalDefinitions, _x2Iidentifier, _x2IisIfStatement, _x2IisInModule, _x2ImtokenPos, _x2Iscopes, _x2IstatementCount, _x2IvariableStyle, _x2Iwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _x2IglobalDefinitions
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                      ( case ( ( (const _x1Iidentifier _x2Iidentifier)
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                            ( case ( ( _x2IisInModule
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisInModule ->
+                                                                                                                                                                                                                                  ( case ( ( _x2ImtokenPos
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                                                                                                                        ( case ( ( _x2Iscopes
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOscopes ->
+                                                                                                                                                                                                                                              ( case ( ( _x2IvariableStyle
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                    ( case ( ( _x1Iwarnings ++ _x2Iwarnings
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                          ( case ( ( Region (rgStart _lhsImtokenPos) (customAdvanceToken (rgStart _lhsImtokenPos) T.Elseif)
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _keywordPos ->
+                                                                                                                                                                                                                                                                ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _x2IstatementCount > 0
+                                                                                                                                                                                                                                                                            then id
+                                                                                                                                                                                                                                                                            else (:) $ warn _keywordPos EmptyElseIf
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_ElseIf_Tuple_1
+                                   )
+                                 ) of
+                              (sem_ElseIf_1) ->
+                                (_lhsOcopy, sem_ElseIf_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- ElseIfList --------------------------------------------------
+-- cata
+sem_ElseIfList
+  :: ElseIfList
+  -> T_ElseIfList
+sem_ElseIfList list =
+  (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))
+
+-- semantic domain
+type T_ElseIfList = (ElseIfList, T_ElseIfList_1)
+type T_ElseIfList_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> (Bool, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_ElseIfList = Inh_ElseIfList {config_Inh_ElseIfList :: LintSettings, funcName_Inh_ElseIfList :: String, globalDefinitions_Inh_ElseIfList :: (M.Map String [Region]), isInModule_Inh_ElseIfList :: Bool, isMeta_Inh_ElseIfList :: Bool, loopLevel_Inh_ElseIfList :: Int, mtokenPos_Inh_ElseIfList :: Region, scopeLevel_Inh_ElseIfList :: Int, scopes_Inh_ElseIfList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_ElseIfList :: DeterminedVariableStyle}
+data Syn_ElseIfList = Syn_ElseIfList {copy_Syn_ElseIfList :: ElseIfList, elseExists_Syn_ElseIfList :: Bool, globalDefinitions_Syn_ElseIfList :: (M.Map String [Region]), identifier_Syn_ElseIfList :: String, isInModule_Syn_ElseIfList :: Bool, mtokenPos_Syn_ElseIfList :: Region, scopes_Syn_ElseIfList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_ElseIfList :: DeterminedVariableStyle, warnings_Syn_ElseIfList :: ([String -> LintMessage])}
+wrap_ElseIfList
+  :: T_ElseIfList
+  -> Inh_ElseIfList
+  -> Syn_ElseIfList
+wrap_ElseIfList sem (Inh_ElseIfList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_ElseIfList _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_ElseIfList_Cons
+  :: T_MElseIf
+  -> T_ElseIfList
+  -> T_ElseIfList
+sem_ElseIfList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, tl_1) ->
+        ( case (hd_) of
+            (_hdIcopy, hd_1) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_ElseIfList_Cons_1 :: T_ElseIfList_1
+                                      sem_ElseIfList_Cons_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( True
+                                                       )
+                                                     ) of
+                                                  _lhsOelseExists ->
+                                                    ( case ( ( _lhsIscopes
+                                                             )
+                                                           ) of
+                                                        _hdOscopes ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _hdOisMeta ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _hdOconfig ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _hdOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _hdOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _hdOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _hdOloopLevel ->
+                                                                                              ( case ( ( _lhsIisInModule
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _hdOisInModule ->
+                                                                                                    ( case ( ( _lhsIglobalDefinitions
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _hdOglobalDefinitions ->
+                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _hdOfuncName ->
+                                                                                                                ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
+                                                                                                                    (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->
+                                                                                                                      ( case ( ( _hdIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _tlOscopes ->
+                                                                                                                            ( case ( ( _lhsIisMeta
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _tlOisMeta ->
+                                                                                                                                  ( case ( ( _hdIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _tlOisInModule ->
+                                                                                                                                        ( case ( ( _hdIglobalDefinitions
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _tlOglobalDefinitions ->
+                                                                                                                                              ( case ( ( _lhsIconfig
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _tlOconfig ->
+                                                                                                                                                    ( case ( ( _hdIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _tlOvariableStyle ->
+                                                                                                                                                          ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _tlOscopeLevel ->
+                                                                                                                                                                ( case ( ( _hdImtokenPos
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _tlOmtokenPos ->
+                                                                                                                                                                      ( case ( ( _lhsIloopLevel
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _tlOloopLevel ->
+                                                                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _tlOfuncName ->
+                                                                                                                                                                                  ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
+                                                                                                                                                                                      (_tlIelseExists, _tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->
+                                                                                                                                                                                        ( case ( ( _tlIglobalDefinitions
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOglobalDefinitions ->
+                                                                                                                                                                                              ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOidentifier ->
+                                                                                                                                                                                                    ( case ( ( _tlIisInModule
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOisInModule ->
+                                                                                                                                                                                                          ( case ( ( _tlImtokenPos
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOmtokenPos ->
+                                                                                                                                                                                                                ( case ( ( _tlIscopes
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOscopes ->
+                                                                                                                                                                                                                      ( case ( ( _tlIvariableStyle
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOvariableStyle ->
+                                                                                                                                                                                                                            ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                                                                  (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_ElseIfList_Cons_1
+                                   )
+                                 ) of
+                              (sem_ElseIfList_1) ->
+                                (_lhsOcopy, sem_ElseIfList_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_ElseIfList_Nil :: T_ElseIfList
+sem_ElseIfList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_ElseIfList_Nil_1 :: T_ElseIfList_1
+                          sem_ElseIfList_Nil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( False
+                                           )
+                                         ) of
+                                      _lhsOelseExists ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _lhsOglobalDefinitions ->
+                                              ( case ( ( unknownIdentifier
+                                                       )
+                                                     ) of
+                                                  _lhsOidentifier ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _lhsOisInModule ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_ElseIfList_Nil_1
+                       )
+                     ) of
+                  (sem_ElseIfList_1) ->
+                    (_lhsOcopy, sem_ElseIfList_1)
+              )
+        )
+  )
+
+-- Expr --------------------------------------------------------
+-- cata
+sem_Expr
+  :: Expr
+  -> T_Expr
+sem_Expr (ANil) =
+  (sem_Expr_ANil)
+sem_Expr (AFalse) =
+  (sem_Expr_AFalse)
+sem_Expr (ATrue) =
+  (sem_Expr_ATrue)
+sem_Expr (ANumber _num) =
+  (sem_Expr_ANumber _num)
+sem_Expr (AString _str) =
+  (sem_Expr_AString (sem_MToken _str))
+sem_Expr (AVarArg) =
+  (sem_Expr_AVarArg)
+sem_Expr (AnonymousFunc _pars _body) =
+  (sem_Expr_AnonymousFunc _pars (sem_Block _body))
+sem_Expr (APrefixExpr _pexpr) =
+  (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))
+sem_Expr (ATableConstructor _fields) =
+  (sem_Expr_ATableConstructor (sem_FieldList _fields))
+sem_Expr (BinOpExpr _op _left _right) =
+  (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))
+sem_Expr (UnOpExpr _op _right) =
+  (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))
+
+-- semantic domain
+type T_Expr = (Expr, T_Expr_1)
+type T_Expr_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> Bool
+  -> (Maybe MToken)
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, (Maybe MToken), Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Expr = Inh_Expr {config_Inh_Expr :: LintSettings, funcName_Inh_Expr :: String, globalDefinitions_Inh_Expr :: (M.Map String [Region]), inParentheses_Inh_Expr :: Bool, isInModule_Inh_Expr :: Bool, isMeta_Inh_Expr :: Bool, isNegation_Inh_Expr :: Bool, loopLevel_Inh_Expr :: Int, mtokenPos_Inh_Expr :: Region, scopeLevel_Inh_Expr :: Int, scopes_Inh_Expr :: ([M.Map String (Bool, Region)]), topLevel_Inh_Expr :: Bool, varBeingDefined_Inh_Expr :: (Maybe MToken), variableStyle_Inh_Expr :: DeterminedVariableStyle}
+data Syn_Expr = Syn_Expr {copy_Syn_Expr :: Expr, globalDefinitions_Syn_Expr :: (M.Map String [Region]), identifier_Syn_Expr :: String, isInModule_Syn_Expr :: Bool, isSimpleExpression_Syn_Expr :: Bool, isSingleVar_Syn_Expr :: (Maybe MToken), mtokenPos_Syn_Expr :: Region, scopes_Syn_Expr :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Expr :: DeterminedVariableStyle, warnings_Syn_Expr :: ([String -> LintMessage])}
+wrap_Expr
+  :: T_Expr
+  -> Inh_Expr
+  -> Syn_Expr
+wrap_Expr sem (Inh_Expr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle
+    in
+      (Syn_Expr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Expr_ANil :: T_Expr
+sem_Expr_ANil =
+  ( case ( ( ANil
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Expr_ANil_1 :: T_Expr_1
+                          sem_Expr_ANil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIinParentheses
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIisNegation
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsItopLevel
+                               _lhsIvarBeingDefined
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( True
+                                                             )
+                                                           ) of
+                                                        _lhsOisSimpleExpression ->
+                                                          ( case ( ( Nothing
+                                                                   )
+                                                                 ) of
+                                                              _lhsOisSingleVar ->
+                                                                ( case ( ( _lhsImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOmtokenPos ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Expr_ANil_1
+                       )
+                     ) of
+                  (sem_Expr_1) ->
+                    (_lhsOcopy, sem_Expr_1)
+              )
+        )
+  )
+sem_Expr_AFalse :: T_Expr
+sem_Expr_AFalse =
+  ( case ( ( AFalse
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Expr_AFalse_1 :: T_Expr_1
+                          sem_Expr_AFalse_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIinParentheses
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIisNegation
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsItopLevel
+                               _lhsIvarBeingDefined
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( True
+                                                             )
+                                                           ) of
+                                                        _lhsOisSimpleExpression ->
+                                                          ( case ( ( Nothing
+                                                                   )
+                                                                 ) of
+                                                              _lhsOisSingleVar ->
+                                                                ( case ( ( _lhsImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOmtokenPos ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Expr_AFalse_1
+                       )
+                     ) of
+                  (sem_Expr_1) ->
+                    (_lhsOcopy, sem_Expr_1)
+              )
+        )
+  )
+sem_Expr_ATrue :: T_Expr
+sem_Expr_ATrue =
+  ( case ( ( ATrue
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Expr_ATrue_1 :: T_Expr_1
+                          sem_Expr_ATrue_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIinParentheses
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIisNegation
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsItopLevel
+                               _lhsIvarBeingDefined
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( True
+                                                             )
+                                                           ) of
+                                                        _lhsOisSimpleExpression ->
+                                                          ( case ( ( Nothing
+                                                                   )
+                                                                 ) of
+                                                              _lhsOisSingleVar ->
+                                                                ( case ( ( _lhsImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOmtokenPos ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Expr_ATrue_1
+                       )
+                     ) of
+                  (sem_Expr_1) ->
+                    (_lhsOcopy, sem_Expr_1)
+              )
+        )
+  )
+sem_Expr_ANumber
+  :: String
+  -> T_Expr
+sem_Expr_ANumber num_ =
+  ( case ( ( ANumber num_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Expr_ANumber_1 :: T_Expr_1
+                          sem_Expr_ANumber_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIinParentheses
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIisNegation
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsItopLevel
+                               _lhsIvarBeingDefined
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( True
+                                                             )
+                                                           ) of
+                                                        _lhsOisSimpleExpression ->
+                                                          ( case ( ( Nothing
+                                                                   )
+                                                                 ) of
+                                                              _lhsOisSingleVar ->
+                                                                ( case ( ( _lhsImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOmtokenPos ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Expr_ANumber_1
+                       )
+                     ) of
+                  (sem_Expr_1) ->
+                    (_lhsOcopy, sem_Expr_1)
+              )
+        )
+  )
+sem_Expr_AString
+  :: T_MToken
+  -> T_Expr
+sem_Expr_AString str_ =
+  ( case (str_) of
+      (_strIcopy, _strImtok, _strImtokenPos, str_1) ->
+        ( case ( ( AString _strIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Expr_AString_1 :: T_Expr_1
+                                sem_Expr_AString_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIinParentheses
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIisNegation
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsItopLevel
+                                     _lhsIvarBeingDefined
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _strOglobalDefinitions ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _strOscopes ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _strOmtokenPos ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _strOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _strOisInModule ->
+                                                                      ( case ( ( _lhsIfuncName
+                                                                               )
+                                                                             ) of
+                                                                          _strOfuncName ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _strOconfig ->
+                                                                                  ( case (str_1 _strOconfig _strOfuncName _strOglobalDefinitions _strOisInModule _strOisMeta _strOmtokenPos _strOscopes) of
+                                                                                      (_strIglobalDefinitions, _strIidentifier, _strIisInModule, _strIscopes, _strIwarnings) ->
+                                                                                        ( case ( ( _strIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _lhsOglobalDefinitions ->
+                                                                                              ( case ( ( _strIidentifier
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _lhsOidentifier ->
+                                                                                                    ( case ( ( _strIisInModule
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _lhsOisInModule ->
+                                                                                                          ( case ( ( True
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _lhsOisSimpleExpression ->
+                                                                                                                ( case ( ( Nothing
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOisSingleVar ->
+                                                                                                                      ( case ( ( _strImtokenPos
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOmtokenPos ->
+                                                                                                                            ( case ( ( _strIscopes
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOscopes ->
+                                                                                                                                  ( case ( ( _lhsIvariableStyle
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                        ( case ( ( _strIwarnings
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Expr_AString_1
+                             )
+                           ) of
+                        (sem_Expr_1) ->
+                          (_lhsOcopy, sem_Expr_1)
+                    )
+              )
+        )
+  )
+sem_Expr_AVarArg :: T_Expr
+sem_Expr_AVarArg =
+  ( case ( ( AVarArg
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Expr_AVarArg_1 :: T_Expr_1
+                          sem_Expr_AVarArg_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIinParentheses
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIisNegation
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsItopLevel
+                               _lhsIvarBeingDefined
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( False
+                                                             )
+                                                           ) of
+                                                        _lhsOisSimpleExpression ->
+                                                          ( case ( ( Nothing
+                                                                   )
+                                                                 ) of
+                                                              _lhsOisSingleVar ->
+                                                                ( case ( ( _lhsImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOmtokenPos ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Expr_AVarArg_1
+                       )
+                     ) of
+                  (sem_Expr_1) ->
+                    (_lhsOcopy, sem_Expr_1)
+              )
+        )
+  )
+sem_Expr_AnonymousFunc
+  :: ([MToken])
+  -> T_Block
+  -> T_Expr
+sem_Expr_AnonymousFunc pars_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case ( ( AnonymousFunc pars_ _bodyIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Expr_AnonymousFunc_1 :: T_Expr_1
+                                sem_Expr_AnonymousFunc_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIinParentheses
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIisNegation
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsItopLevel
+                                     _lhsIvarBeingDefined
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIisInModule
+                                                 )
+                                               ) of
+                                            _bodyOisInModule ->
+                                              ( case ( ( _lhsIglobalDefinitions
+                                                       )
+                                                     ) of
+                                                  _bodyOglobalDefinitions ->
+                                                    ( case ( ( _lhsIconfig
+                                                             )
+                                                           ) of
+                                                        _bodyOconfig ->
+                                                          ( case ( ( _lhsIisMeta || findSelf pars_
+                                                                   )
+                                                                 ) of
+                                                              _bodyOisMeta ->
+                                                                ( case ( ( M.fromList $ map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) pars_
+                                                                         )
+                                                                       ) of
+                                                                    _introduces ->
+                                                                      ( case ( ( _introduces : _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _bodyOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _bodyOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _bodyOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _bodyOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _bodyOloopLevel ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _bodyOfuncName ->
+                                                                                                          ( case ( ( False
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _bodyOisRepeat ->
+                                                                                                                ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                    (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                      ( case ( ( _bodyIglobalDefinitions
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOglobalDefinitions ->
+                                                                                                                            ( case ( ( _bodyIidentifier
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOidentifier ->
+                                                                                                                                  ( case ( ( _bodyIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                        ( case ( ( True
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOisSimpleExpression ->
+                                                                                                                                              ( case ( ( Nothing
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOisSingleVar ->
+                                                                                                                                                    ( case ( ( _bodyImtokenPos
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOmtokenPos ->
+                                                                                                                                                          ( case ( ( _bodyIscopes
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOscopes ->
+                                                                                                                                                                ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOvariableStyle ->
+                                                                                                                                                                      ( case ( ( _bodyIwarnings
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _warnings_augmented_syn ->
+                                                                                                                                                                            ( case ( ( filter (/= MToken emptyRg VarArg) $ pars_
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _argIdentifiers ->
+                                                                                                                                                                                  ( case ( ( if not (lint_shadowing _lhsIconfig)
+                                                                                                                                                                                              then id
+                                                                                                                                                                                              else (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _warnings_augmented_f1 ->
+                                                                                                                                                                                        ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Expr_AnonymousFunc_1
+                             )
+                           ) of
+                        (sem_Expr_1) ->
+                          (_lhsOcopy, sem_Expr_1)
+                    )
+              )
+        )
+  )
+sem_Expr_APrefixExpr
+  :: T_PrefixExp
+  -> T_Expr
+sem_Expr_APrefixExpr pexpr_ =
+  ( case (pexpr_) of
+      (_pexprIcopy, _pexprIhasSuffixes, _pexprImtokenPos, _pexprIvarName, pexpr_1) ->
+        ( case ( ( APrefixExpr _pexprIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Expr_APrefixExpr_1 :: T_Expr_1
+                                sem_Expr_APrefixExpr_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIinParentheses
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIisNegation
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsItopLevel
+                                     _lhsIvarBeingDefined
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIvarBeingDefined
+                                                 )
+                                               ) of
+                                            _pexprOvarBeingDefined ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _pexprOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _pexprOisMeta ->
+                                                          ( case ( ( _lhsIisInModule
+                                                                   )
+                                                                 ) of
+                                                              _pexprOisInModule ->
+                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                         )
+                                                                       ) of
+                                                                    _pexprOglobalDefinitions ->
+                                                                      ( case ( ( _lhsIconfig
+                                                                               )
+                                                                             ) of
+                                                                          _pexprOconfig ->
+                                                                            ( case ( ( True
+                                                                                     )
+                                                                                   ) of
+                                                                                _pexprOregisterVarUse ->
+                                                                                  ( case ( ( _lhsIvariableStyle
+                                                                                           )
+                                                                                         ) of
+                                                                                      _pexprOvariableStyle ->
+                                                                                        ( case ( ( _lhsItopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _pexprOtopLevel ->
+                                                                                              ( case ( ( _lhsIscopeLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _pexprOscopeLevel ->
+                                                                                                    ( case ( ( _lhsImtokenPos
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _pexprOmtokenPos ->
+                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _pexprOloopLevel ->
+                                                                                                                ( case ( ( _lhsIisNegation
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _pexprOisNegation ->
+                                                                                                                      ( case ( ( _lhsIinParentheses
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _pexprOinParentheses ->
+                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _pexprOfuncName ->
+                                                                                                                                  ( case (pexpr_1 _pexprOconfig _pexprOfuncName _pexprOglobalDefinitions _pexprOinParentheses _pexprOisInModule _pexprOisMeta _pexprOisNegation _pexprOloopLevel _pexprOmtokenPos _pexprOregisterVarUse _pexprOscopeLevel _pexprOscopes _pexprOtopLevel _pexprOvarBeingDefined _pexprOvariableStyle) of
+                                                                                                                                      (_pexprIglobalDefinitions, _pexprIidentifier, _pexprIisInModule, _pexprIisSimpleExpression, _pexprIisSingleVar, _pexprIscopes, _pexprIvariableStyle, _pexprIwarnings) ->
+                                                                                                                                        ( case ( ( _pexprIglobalDefinitions
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOglobalDefinitions ->
+                                                                                                                                              ( case ( ( _pexprIidentifier
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOidentifier ->
+                                                                                                                                                    ( case ( ( _pexprIisInModule
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOisInModule ->
+                                                                                                                                                          ( case ( ( _pexprIisSimpleExpression
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOisSimpleExpression ->
+                                                                                                                                                                ( case ( ( _pexprIisSingleVar
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOisSingleVar ->
+                                                                                                                                                                      ( case ( ( _pexprImtokenPos
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOmtokenPos ->
+                                                                                                                                                                            ( case ( ( _pexprIscopes
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _lhsOscopes ->
+                                                                                                                                                                                  ( case ( ( _pexprIvariableStyle
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                                                                        ( case ( ( _pexprIwarnings
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Expr_APrefixExpr_1
+                             )
+                           ) of
+                        (sem_Expr_1) ->
+                          (_lhsOcopy, sem_Expr_1)
+                    )
+              )
+        )
+  )
+sem_Expr_ATableConstructor
+  :: T_FieldList
+  -> T_Expr
+sem_Expr_ATableConstructor fields_ =
+  ( case (fields_) of
+      (_fieldsIcopy, fields_1) ->
+        ( case ( ( ATableConstructor _fieldsIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Expr_ATableConstructor_1 :: T_Expr_1
+                                sem_Expr_ATableConstructor_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIinParentheses
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIisNegation
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsItopLevel
+                                     _lhsIvarBeingDefined
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _fieldsOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _fieldsOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _fieldsOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _fieldsOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _fieldsOconfig ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _fieldsOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _fieldsOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _fieldsOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _fieldsOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _fieldsOfuncName ->
+                                                                                                    ( case ( ( S.empty
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _fieldsOfieldNames ->
+                                                                                                          ( case (fields_1 _fieldsOconfig _fieldsOfieldNames _fieldsOfuncName _fieldsOglobalDefinitions _fieldsOisInModule _fieldsOisMeta _fieldsOloopLevel _fieldsOmtokenPos _fieldsOscopeLevel _fieldsOscopes _fieldsOvariableStyle) of
+                                                                                                              (_fieldsIfieldNames, _fieldsIglobalDefinitions, _fieldsIidentifier, _fieldsIisInModule, _fieldsImtokenPos, _fieldsIscopes, _fieldsIvariableStyle, _fieldsIwarnings) ->
+                                                                                                                ( case ( ( _fieldsIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _fieldsIidentifier
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( _fieldsIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisInModule ->
+                                                                                                                                  ( case ( ( True
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisSimpleExpression ->
+                                                                                                                                        ( case ( ( Nothing
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOisSingleVar ->
+                                                                                                                                              ( case ( ( _fieldsImtokenPos
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOmtokenPos ->
+                                                                                                                                                    ( case ( ( _fieldsIscopes
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOscopes ->
+                                                                                                                                                          ( case ( ( _fieldsIvariableStyle
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOvariableStyle ->
+                                                                                                                                                                ( case ( ( _fieldsIwarnings
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOwarnings ->
+                                                                                                                                                                      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Expr_ATableConstructor_1
+                             )
+                           ) of
+                        (sem_Expr_1) ->
+                          (_lhsOcopy, sem_Expr_1)
+                    )
+              )
+        )
+  )
+sem_Expr_BinOpExpr
+  :: T_BinOp
+  -> T_MExpr
+  -> T_MExpr
+  -> T_Expr
+sem_Expr_BinOpExpr op_ left_ right_ =
+  ( case (right_) of
+      (_rightIcopy, _rightImtokenPos, right_1) ->
+        ( case (left_) of
+            (_leftIcopy, _leftImtokenPos, left_1) ->
+              ( case (op_) of
+                  (_opIcopy, op_1) ->
+                    ( case ( ( BinOpExpr _opIcopy _leftIcopy _rightIcopy
+                             )
+                           ) of
+                        _copy ->
+                          ( case ( ( _copy
+                                   )
+                                 ) of
+                              _lhsOcopy ->
+                                ( case ( ( let
+                                            sem_Expr_BinOpExpr_1 :: T_Expr_1
+                                            sem_Expr_BinOpExpr_1 =
+                                              ( \_lhsIconfig
+                                                 _lhsIfuncName
+                                                 _lhsIglobalDefinitions
+                                                 _lhsIinParentheses
+                                                 _lhsIisInModule
+                                                 _lhsIisMeta
+                                                 _lhsIisNegation
+                                                 _lhsIloopLevel
+                                                 _lhsImtokenPos
+                                                 _lhsIscopeLevel
+                                                 _lhsIscopes
+                                                 _lhsItopLevel
+                                                 _lhsIvarBeingDefined
+                                                 _lhsIvariableStyle ->
+                                                    ( case ( ( _lhsIscopes
+                                                             )
+                                                           ) of
+                                                        _opOscopes ->
+                                                          ( case ( ( _lhsIvariableStyle
+                                                                   )
+                                                                 ) of
+                                                              _opOvariableStyle ->
+                                                                ( case ( ( _lhsIscopeLevel
+                                                                         )
+                                                                       ) of
+                                                                    _opOscopeLevel ->
+                                                                      ( case ( ( _lhsImtokenPos
+                                                                               )
+                                                                             ) of
+                                                                          _opOmtokenPos ->
+                                                                            ( case ( ( _lhsIloopLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _opOloopLevel ->
+                                                                                  ( case ( ( _lhsIisMeta
+                                                                                           )
+                                                                                         ) of
+                                                                                      _opOisMeta ->
+                                                                                        ( case ( ( _lhsIisInModule
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _opOisInModule ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _opOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _opOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _opOconfig ->
+                                                                                                                ( case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of
+                                                                                                                    (_opIglobalDefinitions, _opIidentifier, _opIisInModule, _opImtokenPos, _opIscopes, _opIvariableStyle, _opIwarnings) ->
+                                                                                                                      ( case ( ( _opIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _leftOscopes ->
+                                                                                                                            ( case ( ( _lhsIisMeta
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _leftOisMeta ->
+                                                                                                                                  ( case ( ( _lhsIconfig
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _leftOconfig ->
+                                                                                                                                        ( case ( ( Nothing
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _leftOvarBeingDefined ->
+                                                                                                                                              ( case ( ( _opIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _leftOvariableStyle ->
+                                                                                                                                                    ( case ( ( _lhsIscopeLevel
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _leftOscopeLevel ->
+                                                                                                                                                          ( case ( ( _opImtokenPos
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _leftOmtokenPos ->
+                                                                                                                                                                ( case ( ( _lhsIloopLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _leftOloopLevel ->
+                                                                                                                                                                      ( case ( ( _opIisInModule
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _leftOisInModule ->
+                                                                                                                                                                            ( case ( ( _opIglobalDefinitions
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _leftOglobalDefinitions ->
+                                                                                                                                                                                  ( case ( ( _lhsIfuncName
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _leftOfuncName ->
+                                                                                                                                                                                        ( case ( ( False
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _leftOtopLevel ->
+                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _leftOinParentheses ->
+                                                                                                                                                                                                    ( case ( ( False
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _leftOisNegation ->
+                                                                                                                                                                                                          ( case (left_1 _leftOconfig _leftOfuncName _leftOglobalDefinitions _leftOinParentheses _leftOisInModule _leftOisMeta _leftOisNegation _leftOloopLevel _leftOmtokenPos _leftOscopeLevel _leftOscopes _leftOtopLevel _leftOvarBeingDefined _leftOvariableStyle) of
+                                                                                                                                                                                                              (_leftIglobalDefinitions, _leftIidentifier, _leftIisInModule, _leftIisSimpleExpression, _leftIisSingleVar, _leftIscopes, _leftIvariableStyle, _leftIwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _leftIscopes
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _rightOscopes ->
+                                                                                                                                                                                                                      ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _rightOisMeta ->
+                                                                                                                                                                                                                            ( case ( ( _leftIisInModule
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _rightOisInModule ->
+                                                                                                                                                                                                                                  ( case ( ( _leftIglobalDefinitions
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _rightOglobalDefinitions ->
+                                                                                                                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _rightOconfig ->
+                                                                                                                                                                                                                                              ( case ( ( Nothing
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _rightOvarBeingDefined ->
+                                                                                                                                                                                                                                                    ( case ( ( _leftIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _rightOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _rightOscopeLevel ->
+                                                                                                                                                                                                                                                                ( case ( ( _leftImtokenPos
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _rightOmtokenPos ->
+                                                                                                                                                                                                                                                                      ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _rightOloopLevel ->
+                                                                                                                                                                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _rightOfuncName ->
+                                                                                                                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _rightOtopLevel ->
+                                                                                                                                                                                                                                                                                        ( case ( ( False
+                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                            _rightOinParentheses ->
+                                                                                                                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                  _rightOisNegation ->
+                                                                                                                                                                                                                                                                                                    ( case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of
+                                                                                                                                                                                                                                                                                                        (_rightIglobalDefinitions, _rightIidentifier, _rightIisInModule, _rightIisSimpleExpression, _rightIisSingleVar, _rightIscopes, _rightIvariableStyle, _rightIwarnings) ->
+                                                                                                                                                                                                                                                                                                          ( case ( ( _rightIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                              _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                ( case ( ( (const _opIidentifier (const _leftIidentifier _rightIidentifier))
+                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                    _lhsOidentifier ->
+                                                                                                                                                                                                                                                                                                                      ( case ( ( _rightIisInModule
+                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                          _lhsOisInModule ->
+                                                                                                                                                                                                                                                                                                                            ( case ( ( False
+                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                _lhsOisSimpleExpression ->
+                                                                                                                                                                                                                                                                                                                                  ( case ( ( (const (const Nothing) _leftIisSingleVar _rightIisSingleVar)
+                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                      _lhsOisSingleVar ->
+                                                                                                                                                                                                                                                                                                                                        ( case ( ( _rightImtokenPos
+                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                              ( case ( ( _rightIscopes
+                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _rightIvariableStyle
+                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                                                          ( case ( ( _opIwarnings ++ _leftIwarnings ++ _rightIwarnings
+                                                                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                                                                              _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                                                                                                                ( case ( ( oppositeBinOp _opIcopy
+                                                                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                                                                    _stupidNegation ->
+                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( if not (lint_doubleNegations _lhsIconfig) || not _lhsIisNegation || isNothing _stupidNegation
+                                                                                                                                                                                                                                                                                                                                                                                  then id
+                                                                                                                                                                                                                                                                                                                                                                                  else (:) $ warn _lhsImtokenPos $ SillyNegation $ fromMaybe (error "fromMaybe sem Expr loc.stupidNegation") _stupidNegation
+                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                          _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                                                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                           in
+                                            sem_Expr_BinOpExpr_1
+                                         )
+                                       ) of
+                                    (sem_Expr_1) ->
+                                      (_lhsOcopy, sem_Expr_1)
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Expr_UnOpExpr
+  :: T_UnOp
+  -> T_MExpr
+  -> T_Expr
+sem_Expr_UnOpExpr op_ right_ =
+  ( case (right_) of
+      (_rightIcopy, _rightImtokenPos, right_1) ->
+        ( case (op_) of
+            (_opIcopy, op_1) ->
+              ( case ( ( UnOpExpr _opIcopy _rightIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Expr_UnOpExpr_1 :: T_Expr_1
+                                      sem_Expr_UnOpExpr_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIinParentheses
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIisNegation
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsItopLevel
+                                           _lhsIvarBeingDefined
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _opOscopes ->
+                                                    ( case ( ( _lhsIvariableStyle
+                                                             )
+                                                           ) of
+                                                        _opOvariableStyle ->
+                                                          ( case ( ( _lhsIscopeLevel
+                                                                   )
+                                                                 ) of
+                                                              _opOscopeLevel ->
+                                                                ( case ( ( _lhsImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _opOmtokenPos ->
+                                                                      ( case ( ( _lhsIloopLevel
+                                                                               )
+                                                                             ) of
+                                                                          _opOloopLevel ->
+                                                                            ( case ( ( _lhsIisMeta
+                                                                                     )
+                                                                                   ) of
+                                                                                _opOisMeta ->
+                                                                                  ( case ( ( _lhsIisInModule
+                                                                                           )
+                                                                                         ) of
+                                                                                      _opOisInModule ->
+                                                                                        ( case ( ( _lhsIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _opOglobalDefinitions ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _opOfuncName ->
+                                                                                                    ( case ( ( _lhsIconfig
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _opOconfig ->
+                                                                                                          ( case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of
+                                                                                                              (_opIglobalDefinitions, _opIidentifier, _opIisInModule, _opIisNegation, _opImtokenPos, _opIscopes, _opIvariableStyle, _opIwarnings) ->
+                                                                                                                ( case ( ( _opIscopes
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _rightOscopes ->
+                                                                                                                      ( case ( ( _lhsIisMeta
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _rightOisMeta ->
+                                                                                                                            ( case ( ( _opIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _rightOisInModule ->
+                                                                                                                                  ( case ( ( _opIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _rightOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _rightOconfig ->
+                                                                                                                                              ( case ( ( Nothing
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _rightOvarBeingDefined ->
+                                                                                                                                                    ( case ( ( _opIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _rightOvariableStyle ->
+                                                                                                                                                          ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _rightOscopeLevel ->
+                                                                                                                                                                ( case ( ( _opImtokenPos
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _rightOmtokenPos ->
+                                                                                                                                                                      ( case ( ( _lhsIloopLevel
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _rightOloopLevel ->
+                                                                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _rightOfuncName ->
+                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _rightOtopLevel ->
+                                                                                                                                                                                        ( case ( ( False
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _rightOinParentheses ->
+                                                                                                                                                                                              ( case ( ( _opIisNegation
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _rightOisNegation ->
+                                                                                                                                                                                                    ( case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of
+                                                                                                                                                                                                        (_rightIglobalDefinitions, _rightIidentifier, _rightIisInModule, _rightIisSimpleExpression, _rightIisSingleVar, _rightIscopes, _rightIvariableStyle, _rightIwarnings) ->
+                                                                                                                                                                                                          ( case ( ( _rightIglobalDefinitions
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                ( case ( ( (const _opIidentifier _rightIidentifier)
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOidentifier ->
+                                                                                                                                                                                                                      ( case ( ( _rightIisInModule
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOisInModule ->
+                                                                                                                                                                                                                            ( case ( ( False
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisSimpleExpression ->
+                                                                                                                                                                                                                                  ( case ( ( _rightIisSingleVar
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOisSingleVar ->
+                                                                                                                                                                                                                                        ( case ( ( _rightImtokenPos
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                              ( case ( ( _rightIscopes
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                    ( case ( ( _rightIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _opIwarnings ++ _rightIwarnings
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _lhsOwarnings ->
+                                                                                                                                                                                                                                                                (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Expr_UnOpExpr_1
+                                   )
+                                 ) of
+                              (sem_Expr_1) ->
+                                (_lhsOcopy, sem_Expr_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- ExprSuffixList ----------------------------------------------
+-- cata
+sem_ExprSuffixList
+  :: ExprSuffixList
+  -> T_ExprSuffixList
+sem_ExprSuffixList list =
+  (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))
+
+-- semantic domain
+type T_ExprSuffixList = (ExprSuffixList, T_ExprSuffixList_1)
+type T_ExprSuffixList_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_ExprSuffixList = Inh_ExprSuffixList {config_Inh_ExprSuffixList :: LintSettings, funcName_Inh_ExprSuffixList :: String, globalDefinitions_Inh_ExprSuffixList :: (M.Map String [Region]), isInModule_Inh_ExprSuffixList :: Bool, isMeta_Inh_ExprSuffixList :: Bool, loopLevel_Inh_ExprSuffixList :: Int, mtokenPos_Inh_ExprSuffixList :: Region, scopeLevel_Inh_ExprSuffixList :: Int, scopes_Inh_ExprSuffixList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_ExprSuffixList :: DeterminedVariableStyle}
+data Syn_ExprSuffixList = Syn_ExprSuffixList {copy_Syn_ExprSuffixList :: ExprSuffixList, globalDefinitions_Syn_ExprSuffixList :: (M.Map String [Region]), identifier_Syn_ExprSuffixList :: String, isInModule_Syn_ExprSuffixList :: Bool, isSimpleExpression_Syn_ExprSuffixList :: Bool, mtokenPos_Syn_ExprSuffixList :: Region, scopes_Syn_ExprSuffixList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_ExprSuffixList :: DeterminedVariableStyle, warnings_Syn_ExprSuffixList :: ([String -> LintMessage])}
+wrap_ExprSuffixList
+  :: T_ExprSuffixList
+  -> Inh_ExprSuffixList
+  -> Syn_ExprSuffixList
+wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_ExprSuffixList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_ExprSuffixList_Cons
+  :: T_PFExprSuffix
+  -> T_ExprSuffixList
+  -> T_ExprSuffixList
+sem_ExprSuffixList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, tl_1) ->
+        ( case (hd_) of
+            (_hdIcopy, hd_1) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_ExprSuffixList_Cons_1 :: T_ExprSuffixList_1
+                                      sem_ExprSuffixList_Cons_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _hdOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _hdOisMeta ->
+                                                          ( case ( ( _lhsIconfig
+                                                                   )
+                                                                 ) of
+                                                              _hdOconfig ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _hdOvariableStyle ->
+                                                                      ( case ( ( _lhsIscopeLevel
+                                                                               )
+                                                                             ) of
+                                                                          _hdOscopeLevel ->
+                                                                            ( case ( ( _lhsImtokenPos
+                                                                                     )
+                                                                                   ) of
+                                                                                _hdOmtokenPos ->
+                                                                                  ( case ( ( _lhsIloopLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _hdOloopLevel ->
+                                                                                        ( case ( ( _lhsIisInModule
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _hdOisInModule ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _hdOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _hdOfuncName ->
+                                                                                                          ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
+                                                                                                              (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdIisSimpleExpression, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->
+                                                                                                                ( case ( ( _hdIscopes
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _tlOscopes ->
+                                                                                                                      ( case ( ( _lhsIisMeta
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _tlOisMeta ->
+                                                                                                                            ( case ( ( _hdIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _tlOisInModule ->
+                                                                                                                                  ( case ( ( _hdIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _tlOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _tlOconfig ->
+                                                                                                                                              ( case ( ( _hdIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _tlOvariableStyle ->
+                                                                                                                                                    ( case ( ( _lhsIscopeLevel
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _tlOscopeLevel ->
+                                                                                                                                                          ( case ( ( _hdImtokenPos
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _tlOmtokenPos ->
+                                                                                                                                                                ( case ( ( _lhsIloopLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _tlOloopLevel ->
+                                                                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _tlOfuncName ->
+                                                                                                                                                                            ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
+                                                                                                                                                                                (_tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlIisSimpleExpression, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->
+                                                                                                                                                                                  ( case ( ( _tlIglobalDefinitions
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOglobalDefinitions ->
+                                                                                                                                                                                        ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOidentifier ->
+                                                                                                                                                                                              ( case ( ( _tlIisInModule
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOisInModule ->
+                                                                                                                                                                                                    ( case ( ( _hdIisSimpleExpression && _tlIisSimpleExpression
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOisSimpleExpression ->
+                                                                                                                                                                                                          ( case ( ( _tlImtokenPos
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOmtokenPos ->
+                                                                                                                                                                                                                ( case ( ( _tlIscopes
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOscopes ->
+                                                                                                                                                                                                                      ( case ( ( _tlIvariableStyle
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOvariableStyle ->
+                                                                                                                                                                                                                            ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_ExprSuffixList_Cons_1
+                                   )
+                                 ) of
+                              (sem_ExprSuffixList_1) ->
+                                (_lhsOcopy, sem_ExprSuffixList_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_ExprSuffixList_Nil :: T_ExprSuffixList
+sem_ExprSuffixList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_ExprSuffixList_Nil_1 :: T_ExprSuffixList_1
+                          sem_ExprSuffixList_Nil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( True
+                                                             )
+                                                           ) of
+                                                        _lhsOisSimpleExpression ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_ExprSuffixList_Nil_1
+                       )
+                     ) of
+                  (sem_ExprSuffixList_1) ->
+                    (_lhsOcopy, sem_ExprSuffixList_1)
+              )
+        )
+  )
+
+-- Field -------------------------------------------------------
+-- cata
+sem_Field
+  :: Field
+  -> T_Field
+sem_Field (ExprField _key _value _sep) =
+  (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))
+sem_Field (NamedField _key _value _sep) =
+  (sem_Field_NamedField (sem_MToken _key) (sem_MExpr _value) (sem_FieldSep _sep))
+sem_Field (UnnamedField _value _sep) =
+  (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))
+
+-- semantic domain
+type T_Field = (Field, T_Field_1)
+type T_Field_1 =
+  LintSettings
+  -> (S.Set Token)
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((S.Set Token), (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Field = Inh_Field {config_Inh_Field :: LintSettings, fieldNames_Inh_Field :: (S.Set Token), funcName_Inh_Field :: String, globalDefinitions_Inh_Field :: (M.Map String [Region]), isInModule_Inh_Field :: Bool, isMeta_Inh_Field :: Bool, loopLevel_Inh_Field :: Int, mtokenPos_Inh_Field :: Region, scopeLevel_Inh_Field :: Int, scopes_Inh_Field :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Field :: DeterminedVariableStyle}
+data Syn_Field = Syn_Field {copy_Syn_Field :: Field, fieldNames_Syn_Field :: (S.Set Token), globalDefinitions_Syn_Field :: (M.Map String [Region]), identifier_Syn_Field :: String, isInModule_Syn_Field :: Bool, mtokenPos_Syn_Field :: Region, scopes_Syn_Field :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Field :: DeterminedVariableStyle, warnings_Syn_Field :: ([String -> LintMessage])}
+wrap_Field
+  :: T_Field
+  -> Inh_Field
+  -> Syn_Field
+wrap_Field sem (Inh_Field _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_Field _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Field_ExprField
+  :: T_MExpr
+  -> T_MExpr
+  -> T_FieldSep
+  -> T_Field
+sem_Field_ExprField key_ value_ sep_ =
+  ( case (sep_) of
+      (_sepIcopy, sep_1) ->
+        ( case (value_) of
+            (_valueIcopy, _valueImtokenPos, value_1) ->
+              ( case (key_) of
+                  (_keyIcopy, _keyImtokenPos, key_1) ->
+                    ( case ( ( ExprField _keyIcopy _valueIcopy _sepIcopy
+                             )
+                           ) of
+                        _copy ->
+                          ( case ( ( _copy
+                                   )
+                                 ) of
+                              _lhsOcopy ->
+                                ( case ( ( let
+                                            sem_Field_ExprField_1 :: T_Field_1
+                                            sem_Field_ExprField_1 =
+                                              ( \_lhsIconfig
+                                                 _lhsIfieldNames
+                                                 _lhsIfuncName
+                                                 _lhsIglobalDefinitions
+                                                 _lhsIisInModule
+                                                 _lhsIisMeta
+                                                 _lhsIloopLevel
+                                                 _lhsImtokenPos
+                                                 _lhsIscopeLevel
+                                                 _lhsIscopes
+                                                 _lhsIvariableStyle ->
+                                                    ( case ( ( _lhsIfieldNames
+                                                             )
+                                                           ) of
+                                                        _lhsOfieldNames ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _keyOscopes ->
+                                                                ( case ( ( _lhsIisMeta
+                                                                         )
+                                                                       ) of
+                                                                    _keyOisMeta ->
+                                                                      ( case ( ( _lhsIconfig
+                                                                               )
+                                                                             ) of
+                                                                          _keyOconfig ->
+                                                                            ( case ( ( Nothing
+                                                                                     )
+                                                                                   ) of
+                                                                                _keyOvarBeingDefined ->
+                                                                                  ( case ( ( _lhsIvariableStyle
+                                                                                           )
+                                                                                         ) of
+                                                                                      _keyOvariableStyle ->
+                                                                                        ( case ( ( _lhsIscopeLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _keyOscopeLevel ->
+                                                                                              ( case ( ( _lhsImtokenPos
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _keyOmtokenPos ->
+                                                                                                    ( case ( ( _lhsIloopLevel
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _keyOloopLevel ->
+                                                                                                          ( case ( ( _lhsIisInModule
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _keyOisInModule ->
+                                                                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _keyOglobalDefinitions ->
+                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _keyOfuncName ->
+                                                                                                                            ( case ( ( True
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _keyOtopLevel ->
+                                                                                                                                  ( case ( ( True
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _keyOinParentheses ->
+                                                                                                                                        ( case ( ( False
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _keyOisNegation ->
+                                                                                                                                              ( case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOinParentheses _keyOisInModule _keyOisMeta _keyOisNegation _keyOloopLevel _keyOmtokenPos _keyOscopeLevel _keyOscopes _keyOtopLevel _keyOvarBeingDefined _keyOvariableStyle) of
+                                                                                                                                                  (_keyIglobalDefinitions, _keyIidentifier, _keyIisInModule, _keyIisSimpleExpression, _keyIisSingleVar, _keyIscopes, _keyIvariableStyle, _keyIwarnings) ->
+                                                                                                                                                    ( case ( ( _keyIscopes
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _valueOscopes ->
+                                                                                                                                                          ( case ( ( _lhsIisMeta
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _valueOisMeta ->
+                                                                                                                                                                ( case ( ( _keyIisInModule
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _valueOisInModule ->
+                                                                                                                                                                      ( case ( ( _keyIglobalDefinitions
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _valueOglobalDefinitions ->
+                                                                                                                                                                            ( case ( ( _lhsIconfig
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _valueOconfig ->
+                                                                                                                                                                                  ( case ( ( Nothing
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _valueOvarBeingDefined ->
+                                                                                                                                                                                        ( case ( ( _keyIvariableStyle
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _valueOvariableStyle ->
+                                                                                                                                                                                              ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _valueOscopeLevel ->
+                                                                                                                                                                                                    ( case ( ( _keyImtokenPos
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _valueOmtokenPos ->
+                                                                                                                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _valueOloopLevel ->
+                                                                                                                                                                                                                ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _valueOfuncName ->
+                                                                                                                                                                                                                      ( case ( ( True
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _valueOtopLevel ->
+                                                                                                                                                                                                                            ( case ( ( True
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _valueOinParentheses ->
+                                                                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _valueOisNegation ->
+                                                                                                                                                                                                                                        ( case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of
+                                                                                                                                                                                                                                            (_valueIglobalDefinitions, _valueIidentifier, _valueIisInModule, _valueIisSimpleExpression, _valueIisSingleVar, _valueIscopes, _valueIvariableStyle, _valueIwarnings) ->
+                                                                                                                                                                                                                                              ( case ( ( _valueIglobalDefinitions
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _sepOglobalDefinitions ->
+                                                                                                                                                                                                                                                    ( case ( ( _valueIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _sepOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _valueIscopes
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _sepOscopes ->
+                                                                                                                                                                                                                                                                ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _sepOscopeLevel ->
+                                                                                                                                                                                                                                                                      ( case ( ( _valueImtokenPos
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _sepOmtokenPos ->
+                                                                                                                                                                                                                                                                            ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _sepOloopLevel ->
+                                                                                                                                                                                                                                                                                  ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _sepOisMeta ->
+                                                                                                                                                                                                                                                                                        ( case ( ( _valueIisInModule
+                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                            _sepOisInModule ->
+                                                                                                                                                                                                                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                  _sepOfuncName ->
+                                                                                                                                                                                                                                                                                                    ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                        _sepOconfig ->
+                                                                                                                                                                                                                                                                                                          ( case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of
+                                                                                                                                                                                                                                                                                                              (_sepIglobalDefinitions, _sepIidentifier, _sepIisInModule, _sepImtokenPos, _sepIscopes, _sepIvariableStyle, _sepIwarnings) ->
+                                                                                                                                                                                                                                                                                                                ( case ( ( _sepIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                      ( case ( ( (const _keyIidentifier (const _valueIidentifier _sepIidentifier))
+                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                                                                                                                            ( case ( ( _sepIisInModule
+                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                _lhsOisInModule ->
+                                                                                                                                                                                                                                                                                                                                  ( case ( ( _keyImtokenPos
+                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                        ( case ( ( _sepIscopes
+                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                            _lhsOscopes ->
+                                                                                                                                                                                                                                                                                                                                              ( case ( ( _sepIvariableStyle
+                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings
+                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                                                                                          (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                           in
+                                            sem_Field_ExprField_1
+                                         )
+                                       ) of
+                                    (sem_Field_1) ->
+                                      (_lhsOcopy, sem_Field_1)
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Field_NamedField
+  :: T_MToken
+  -> T_MExpr
+  -> T_FieldSep
+  -> T_Field
+sem_Field_NamedField key_ value_ sep_ =
+  ( case (sep_) of
+      (_sepIcopy, sep_1) ->
+        ( case (value_) of
+            (_valueIcopy, _valueImtokenPos, value_1) ->
+              ( case (key_) of
+                  (_keyIcopy, _keyImtok, _keyImtokenPos, key_1) ->
+                    ( case ( ( NamedField _keyIcopy _valueIcopy _sepIcopy
+                             )
+                           ) of
+                        _copy ->
+                          ( case ( ( _copy
+                                   )
+                                 ) of
+                              _lhsOcopy ->
+                                ( case ( ( let
+                                            sem_Field_NamedField_1 :: T_Field_1
+                                            sem_Field_NamedField_1 =
+                                              ( \_lhsIconfig
+                                                 _lhsIfieldNames
+                                                 _lhsIfuncName
+                                                 _lhsIglobalDefinitions
+                                                 _lhsIisInModule
+                                                 _lhsIisMeta
+                                                 _lhsIloopLevel
+                                                 _lhsImtokenPos
+                                                 _lhsIscopeLevel
+                                                 _lhsIscopes
+                                                 _lhsIvariableStyle ->
+                                                    ( case ( ( S.insert _keyImtok _lhsIfieldNames
+                                                             )
+                                                           ) of
+                                                        _lhsOfieldNames ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _keyOscopes ->
+                                                                ( case ( ( _keyImtokenPos
+                                                                         )
+                                                                       ) of
+                                                                    _mtokenPos ->
+                                                                      ( case ( ( _mtokenPos
+                                                                               )
+                                                                             ) of
+                                                                          _keyOmtokenPos ->
+                                                                            ( case ( ( _lhsIisMeta
+                                                                                     )
+                                                                                   ) of
+                                                                                _keyOisMeta ->
+                                                                                  ( case ( ( _lhsIisInModule
+                                                                                           )
+                                                                                         ) of
+                                                                                      _keyOisInModule ->
+                                                                                        ( case ( ( _lhsIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _keyOglobalDefinitions ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _keyOfuncName ->
+                                                                                                    ( case ( ( _lhsIconfig
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _keyOconfig ->
+                                                                                                          ( case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOisInModule _keyOisMeta _keyOmtokenPos _keyOscopes) of
+                                                                                                              (_keyIglobalDefinitions, _keyIidentifier, _keyIisInModule, _keyIscopes, _keyIwarnings) ->
+                                                                                                                ( case ( ( _keyIscopes
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _valueOscopes ->
+                                                                                                                      ( case ( ( _lhsIisMeta
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _valueOisMeta ->
+                                                                                                                            ( case ( ( _keyIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _valueOisInModule ->
+                                                                                                                                  ( case ( ( _keyIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _valueOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _valueOconfig ->
+                                                                                                                                              ( case ( ( Nothing
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _valueOvarBeingDefined ->
+                                                                                                                                                    ( case ( ( _lhsIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _valueOvariableStyle ->
+                                                                                                                                                          ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _valueOscopeLevel ->
+                                                                                                                                                                ( case ( ( _mtokenPos
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _valueOmtokenPos ->
+                                                                                                                                                                      ( case ( ( _lhsIloopLevel
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _valueOloopLevel ->
+                                                                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _valueOfuncName ->
+                                                                                                                                                                                  ( case ( ( True
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _valueOtopLevel ->
+                                                                                                                                                                                        ( case ( ( True
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _valueOinParentheses ->
+                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _valueOisNegation ->
+                                                                                                                                                                                                    ( case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of
+                                                                                                                                                                                                        (_valueIglobalDefinitions, _valueIidentifier, _valueIisInModule, _valueIisSimpleExpression, _valueIisSingleVar, _valueIscopes, _valueIvariableStyle, _valueIwarnings) ->
+                                                                                                                                                                                                          ( case ( ( _valueIglobalDefinitions
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _sepOglobalDefinitions ->
+                                                                                                                                                                                                                ( case ( ( _valueIvariableStyle
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _sepOvariableStyle ->
+                                                                                                                                                                                                                      ( case ( ( _valueIscopes
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _sepOscopes ->
+                                                                                                                                                                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _sepOscopeLevel ->
+                                                                                                                                                                                                                                  ( case ( ( _mtokenPos
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _sepOmtokenPos ->
+                                                                                                                                                                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _sepOloopLevel ->
+                                                                                                                                                                                                                                              ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _sepOisMeta ->
+                                                                                                                                                                                                                                                    ( case ( ( _valueIisInModule
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _sepOisInModule ->
+                                                                                                                                                                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _sepOfuncName ->
+                                                                                                                                                                                                                                                                ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _sepOconfig ->
+                                                                                                                                                                                                                                                                      ( case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of
+                                                                                                                                                                                                                                                                          (_sepIglobalDefinitions, _sepIidentifier, _sepIisInModule, _sepImtokenPos, _sepIscopes, _sepIvariableStyle, _sepIwarnings) ->
+                                                                                                                                                                                                                                                                            ( case ( ( _sepIglobalDefinitions
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                  ( case ( ( (const _keyIidentifier (const _valueIidentifier _sepIidentifier))
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _lhsOidentifier ->
+                                                                                                                                                                                                                                                                                        ( case ( ( _sepIisInModule
+                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                            _lhsOisInModule ->
+                                                                                                                                                                                                                                                                                              ( case ( ( _mtokenPos
+                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                  _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                                                                    ( case ( ( _sepIscopes
+                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                        _lhsOscopes ->
+                                                                                                                                                                                                                                                                                                          ( case ( ( _sepIvariableStyle
+                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                              _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                ( case ( ( _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings
+                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                    _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                                                                      ( case ( ( if not (lint_duplicateTableKeys _lhsIconfig) || not (S.member _keyImtok _lhsIfieldNames)
+                                                                                                                                                                                                                                                                                                                                  then id
+                                                                                                                                                                                                                                                                                                                                  else (:) $ warn _keyImtokenPos $ DuplicateKeyInTable _keyImtok
+                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                          _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                                                            ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                                                                  (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                           in
+                                            sem_Field_NamedField_1
+                                         )
+                                       ) of
+                                    (sem_Field_1) ->
+                                      (_lhsOcopy, sem_Field_1)
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Field_UnnamedField
+  :: T_MExpr
+  -> T_FieldSep
+  -> T_Field
+sem_Field_UnnamedField value_ sep_ =
+  ( case (sep_) of
+      (_sepIcopy, sep_1) ->
+        ( case (value_) of
+            (_valueIcopy, _valueImtokenPos, value_1) ->
+              ( case ( ( UnnamedField _valueIcopy _sepIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Field_UnnamedField_1 :: T_Field_1
+                                      sem_Field_UnnamedField_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfieldNames
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIfieldNames
+                                                       )
+                                                     ) of
+                                                  _lhsOfieldNames ->
+                                                    ( case ( ( _lhsIscopes
+                                                             )
+                                                           ) of
+                                                        _valueOscopes ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _valueOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _valueOisInModule ->
+                                                                      ( case ( ( _lhsIglobalDefinitions
+                                                                               )
+                                                                             ) of
+                                                                          _valueOglobalDefinitions ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _valueOconfig ->
+                                                                                  ( case ( ( Nothing
+                                                                                           )
+                                                                                         ) of
+                                                                                      _valueOvarBeingDefined ->
+                                                                                        ( case ( ( _lhsIvariableStyle
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _valueOvariableStyle ->
+                                                                                              ( case ( ( _lhsIscopeLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _valueOscopeLevel ->
+                                                                                                    ( case ( ( _lhsImtokenPos
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _valueOmtokenPos ->
+                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _valueOloopLevel ->
+                                                                                                                ( case ( ( _lhsIfuncName
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _valueOfuncName ->
+                                                                                                                      ( case ( ( True
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _valueOtopLevel ->
+                                                                                                                            ( case ( ( True
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _valueOinParentheses ->
+                                                                                                                                  ( case ( ( False
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _valueOisNegation ->
+                                                                                                                                        ( case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of
+                                                                                                                                            (_valueIglobalDefinitions, _valueIidentifier, _valueIisInModule, _valueIisSimpleExpression, _valueIisSingleVar, _valueIscopes, _valueIvariableStyle, _valueIwarnings) ->
+                                                                                                                                              ( case ( ( _valueIglobalDefinitions
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _sepOglobalDefinitions ->
+                                                                                                                                                    ( case ( ( _valueIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _sepOvariableStyle ->
+                                                                                                                                                          ( case ( ( _valueIscopes
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _sepOscopes ->
+                                                                                                                                                                ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _sepOscopeLevel ->
+                                                                                                                                                                      ( case ( ( _valueImtokenPos
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _sepOmtokenPos ->
+                                                                                                                                                                            ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _sepOloopLevel ->
+                                                                                                                                                                                  ( case ( ( _lhsIisMeta
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _sepOisMeta ->
+                                                                                                                                                                                        ( case ( ( _valueIisInModule
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _sepOisInModule ->
+                                                                                                                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _sepOfuncName ->
+                                                                                                                                                                                                    ( case ( ( _lhsIconfig
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _sepOconfig ->
+                                                                                                                                                                                                          ( case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of
+                                                                                                                                                                                                              (_sepIglobalDefinitions, _sepIidentifier, _sepIisInModule, _sepImtokenPos, _sepIscopes, _sepIvariableStyle, _sepIwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _sepIglobalDefinitions
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                      ( case ( ( (const _valueIidentifier _sepIidentifier)
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                            ( case ( ( _sepIisInModule
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisInModule ->
+                                                                                                                                                                                                                                  ( case ( ( _sepImtokenPos
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                                                                                                                        ( case ( ( _sepIscopes
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOscopes ->
+                                                                                                                                                                                                                                              ( case ( ( _sepIvariableStyle
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                    ( case ( ( _valueIwarnings ++ _sepIwarnings
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                                                                                                                          (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Field_UnnamedField_1
+                                   )
+                                 ) of
+                              (sem_Field_1) ->
+                                (_lhsOcopy, sem_Field_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- FieldList ---------------------------------------------------
+-- cata
+sem_FieldList
+  :: FieldList
+  -> T_FieldList
+sem_FieldList list =
+  (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))
+
+-- semantic domain
+type T_FieldList = (FieldList, T_FieldList_1)
+type T_FieldList_1 =
+  LintSettings
+  -> (S.Set Token)
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((S.Set Token), (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_FieldList = Inh_FieldList {config_Inh_FieldList :: LintSettings, fieldNames_Inh_FieldList :: (S.Set Token), funcName_Inh_FieldList :: String, globalDefinitions_Inh_FieldList :: (M.Map String [Region]), isInModule_Inh_FieldList :: Bool, isMeta_Inh_FieldList :: Bool, loopLevel_Inh_FieldList :: Int, mtokenPos_Inh_FieldList :: Region, scopeLevel_Inh_FieldList :: Int, scopes_Inh_FieldList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_FieldList :: DeterminedVariableStyle}
+data Syn_FieldList = Syn_FieldList {copy_Syn_FieldList :: FieldList, fieldNames_Syn_FieldList :: (S.Set Token), globalDefinitions_Syn_FieldList :: (M.Map String [Region]), identifier_Syn_FieldList :: String, isInModule_Syn_FieldList :: Bool, mtokenPos_Syn_FieldList :: Region, scopes_Syn_FieldList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_FieldList :: DeterminedVariableStyle, warnings_Syn_FieldList :: ([String -> LintMessage])}
+wrap_FieldList
+  :: T_FieldList
+  -> Inh_FieldList
+  -> Syn_FieldList
+wrap_FieldList sem (Inh_FieldList _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_FieldList _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_FieldList_Cons
+  :: T_Field
+  -> T_FieldList
+  -> T_FieldList
+sem_FieldList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, tl_1) ->
+        ( case (hd_) of
+            (_hdIcopy, hd_1) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_FieldList_Cons_1 :: T_FieldList_1
+                                      sem_FieldList_Cons_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfieldNames
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIfieldNames
+                                                       )
+                                                     ) of
+                                                  _hdOfieldNames ->
+                                                    ( case ( ( _lhsIvariableStyle
+                                                             )
+                                                           ) of
+                                                        _hdOvariableStyle ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _hdOscopes ->
+                                                                ( case ( ( _lhsIscopeLevel
+                                                                         )
+                                                                       ) of
+                                                                    _hdOscopeLevel ->
+                                                                      ( case ( ( _lhsImtokenPos
+                                                                               )
+                                                                             ) of
+                                                                          _hdOmtokenPos ->
+                                                                            ( case ( ( _lhsIloopLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _hdOloopLevel ->
+                                                                                  ( case ( ( _lhsIisMeta
+                                                                                           )
+                                                                                         ) of
+                                                                                      _hdOisMeta ->
+                                                                                        ( case ( ( _lhsIisInModule
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _hdOisInModule ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _hdOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _hdOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _hdOconfig ->
+                                                                                                                ( case (hd_1 _hdOconfig _hdOfieldNames _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
+                                                                                                                    (_hdIfieldNames, _hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->
+                                                                                                                      ( case ( ( _hdIfieldNames
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _tlOfieldNames ->
+                                                                                                                            ( case ( ( _hdIvariableStyle
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _tlOvariableStyle ->
+                                                                                                                                  ( case ( ( _hdIscopes
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _tlOscopes ->
+                                                                                                                                        ( case ( ( _lhsIscopeLevel
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _tlOscopeLevel ->
+                                                                                                                                              ( case ( ( _hdImtokenPos
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _tlOmtokenPos ->
+                                                                                                                                                    ( case ( ( _lhsIloopLevel
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _tlOloopLevel ->
+                                                                                                                                                          ( case ( ( _lhsIisMeta
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _tlOisMeta ->
+                                                                                                                                                                ( case ( ( _hdIisInModule
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _tlOisInModule ->
+                                                                                                                                                                      ( case ( ( _hdIglobalDefinitions
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _tlOglobalDefinitions ->
+                                                                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _tlOfuncName ->
+                                                                                                                                                                                  ( case ( ( _lhsIconfig
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _tlOconfig ->
+                                                                                                                                                                                        ( case (tl_1 _tlOconfig _tlOfieldNames _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
+                                                                                                                                                                                            (_tlIfieldNames, _tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->
+                                                                                                                                                                                              ( case ( ( _tlIfieldNames
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOfieldNames ->
+                                                                                                                                                                                                    ( case ( ( _tlIglobalDefinitions
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOglobalDefinitions ->
+                                                                                                                                                                                                          ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOidentifier ->
+                                                                                                                                                                                                                ( case ( ( _tlIisInModule
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOisInModule ->
+                                                                                                                                                                                                                      ( case ( ( _hdImtokenPos
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOmtokenPos ->
+                                                                                                                                                                                                                            ( case ( ( _tlIscopes
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOscopes ->
+                                                                                                                                                                                                                                  ( case ( ( _tlIvariableStyle
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                                                                                                                        ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                                                                              (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_FieldList_Cons_1
+                                   )
+                                 ) of
+                              (sem_FieldList_1) ->
+                                (_lhsOcopy, sem_FieldList_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_FieldList_Nil :: T_FieldList
+sem_FieldList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_FieldList_Nil_1 :: T_FieldList_1
+                          sem_FieldList_Nil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfieldNames
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIfieldNames
+                                           )
+                                         ) of
+                                      _lhsOfieldNames ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _lhsOglobalDefinitions ->
+                                              ( case ( ( unknownIdentifier
+                                                       )
+                                                     ) of
+                                                  _lhsOidentifier ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _lhsOisInModule ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_FieldList_Nil_1
+                       )
+                     ) of
+                  (sem_FieldList_1) ->
+                    (_lhsOcopy, sem_FieldList_1)
+              )
+        )
+  )
+
+-- FieldSep ----------------------------------------------------
+-- cata
+sem_FieldSep
+  :: FieldSep
+  -> T_FieldSep
+sem_FieldSep (CommaSep) =
+  (sem_FieldSep_CommaSep)
+sem_FieldSep (SemicolonSep) =
+  (sem_FieldSep_SemicolonSep)
+sem_FieldSep (NoSep) =
+  (sem_FieldSep_NoSep)
+
+-- semantic domain
+type T_FieldSep = (FieldSep, T_FieldSep_1)
+type T_FieldSep_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_FieldSep = Inh_FieldSep {config_Inh_FieldSep :: LintSettings, funcName_Inh_FieldSep :: String, globalDefinitions_Inh_FieldSep :: (M.Map String [Region]), isInModule_Inh_FieldSep :: Bool, isMeta_Inh_FieldSep :: Bool, loopLevel_Inh_FieldSep :: Int, mtokenPos_Inh_FieldSep :: Region, scopeLevel_Inh_FieldSep :: Int, scopes_Inh_FieldSep :: ([M.Map String (Bool, Region)]), variableStyle_Inh_FieldSep :: DeterminedVariableStyle}
+data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep, globalDefinitions_Syn_FieldSep :: (M.Map String [Region]), identifier_Syn_FieldSep :: String, isInModule_Syn_FieldSep :: Bool, mtokenPos_Syn_FieldSep :: Region, scopes_Syn_FieldSep :: ([M.Map String (Bool, Region)]), variableStyle_Syn_FieldSep :: DeterminedVariableStyle, warnings_Syn_FieldSep :: ([String -> LintMessage])}
+wrap_FieldSep
+  :: T_FieldSep
+  -> Inh_FieldSep
+  -> Syn_FieldSep
+wrap_FieldSep sem (Inh_FieldSep _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_FieldSep _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_FieldSep_CommaSep :: T_FieldSep
+sem_FieldSep_CommaSep =
+  ( case ( ( CommaSep
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_FieldSep_CommaSep_1 :: T_FieldSep_1
+                          sem_FieldSep_CommaSep_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_FieldSep_CommaSep_1
+                       )
+                     ) of
+                  (sem_FieldSep_1) ->
+                    (_lhsOcopy, sem_FieldSep_1)
+              )
+        )
+  )
+sem_FieldSep_SemicolonSep :: T_FieldSep
+sem_FieldSep_SemicolonSep =
+  ( case ( ( SemicolonSep
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_FieldSep_SemicolonSep_1 :: T_FieldSep_1
+                          sem_FieldSep_SemicolonSep_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_FieldSep_SemicolonSep_1
+                       )
+                     ) of
+                  (sem_FieldSep_1) ->
+                    (_lhsOcopy, sem_FieldSep_1)
+              )
+        )
+  )
+sem_FieldSep_NoSep :: T_FieldSep
+sem_FieldSep_NoSep =
+  ( case ( ( NoSep
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_FieldSep_NoSep_1 :: T_FieldSep_1
+                          sem_FieldSep_NoSep_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_FieldSep_NoSep_1
+                       )
+                     ) of
+                  (sem_FieldSep_1) ->
+                    (_lhsOcopy, sem_FieldSep_1)
+              )
+        )
+  )
+
+-- FuncName ----------------------------------------------------
+-- cata
+sem_FuncName
+  :: FuncName
+  -> T_FuncName
+sem_FuncName (FuncName _names _meta) =
+  (sem_FuncName_FuncName _names _meta)
+
+-- semantic domain
+type T_FuncName = (FuncName, Bool, T_FuncName_1)
+type T_FuncName_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), Bool, String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_FuncName = Inh_FuncName {config_Inh_FuncName :: LintSettings, funcName_Inh_FuncName :: String, globalDefinitions_Inh_FuncName :: (M.Map String [Region]), isInModule_Inh_FuncName :: Bool, isMeta_Inh_FuncName :: Bool, loopLevel_Inh_FuncName :: Int, mtokenPos_Inh_FuncName :: Region, scopeLevel_Inh_FuncName :: Int, scopes_Inh_FuncName :: ([M.Map String (Bool, Region)]), variableStyle_Inh_FuncName :: DeterminedVariableStyle}
+data Syn_FuncName = Syn_FuncName {copy_Syn_FuncName :: FuncName, globalDefinitions_Syn_FuncName :: (M.Map String [Region]), hasSuffixes_Syn_FuncName :: Bool, identifier_Syn_FuncName :: String, isInModule_Syn_FuncName :: Bool, isMeta_Syn_FuncName :: Bool, mtokenPos_Syn_FuncName :: Region, scopes_Syn_FuncName :: ([M.Map String (Bool, Region)]), variableStyle_Syn_FuncName :: DeterminedVariableStyle, warnings_Syn_FuncName :: ([String -> LintMessage])}
+wrap_FuncName
+  :: T_FuncName
+  -> Inh_FuncName
+  -> Syn_FuncName
+wrap_FuncName sem (Inh_FuncName _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, _lhsOisMeta, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOhasSuffixes, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_FuncName _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisMeta _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_FuncName_FuncName
+  :: ([MToken])
+  -> (Maybe MToken)
+  -> T_FuncName
+sem_FuncName_FuncName names_ meta_ =
+  ( case ( ( FuncName names_ meta_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( isJust meta_
+                       )
+                     ) of
+                  _lhsOisMeta ->
+                    ( case ( ( let
+                                sem_FuncName_FuncName_1 :: T_FuncName_1
+                                sem_FuncName_FuncName_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _lhsOglobalDefinitions ->
+                                              ( case ( ( length names_ > 1
+                                                       )
+                                                     ) of
+                                                  _lhsOhasSuffixes ->
+                                                    ( case ( ( tokenLabel . head $ names_
+                                                             )
+                                                           ) of
+                                                        _lhsOidentifier ->
+                                                          ( case ( ( _lhsIisInModule
+                                                                   )
+                                                                 ) of
+                                                              _lhsOisInModule ->
+                                                                ( case ( ( mpos (head names_)
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOmtokenPos ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOscopes ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOhasSuffixes, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_FuncName_FuncName_1
+                             )
+                           ) of
+                        (sem_FuncName_1) ->
+                          (_lhsOcopy, _lhsOisMeta, sem_FuncName_1)
+                    )
+              )
+        )
+  )
+
+-- MElse -------------------------------------------------------
+-- cata
+sem_MElse
+  :: MElse
+  -> T_MElse
+sem_MElse (MElse _pos _body) =
+  (sem_MElse_MElse (sem_Region _pos) (sem_Block _body))
+
+-- semantic domain
+type T_MElse = (MElse, T_MElse_1)
+type T_MElse_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> (Bool, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MElse = Inh_MElse {config_Inh_MElse :: LintSettings, funcName_Inh_MElse :: String, globalDefinitions_Inh_MElse :: (M.Map String [Region]), isInModule_Inh_MElse :: Bool, isMeta_Inh_MElse :: Bool, loopLevel_Inh_MElse :: Int, mtokenPos_Inh_MElse :: Region, scopeLevel_Inh_MElse :: Int, scopes_Inh_MElse :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MElse :: DeterminedVariableStyle}
+data Syn_MElse = Syn_MElse {copy_Syn_MElse :: MElse, elseExists_Syn_MElse :: Bool, globalDefinitions_Syn_MElse :: (M.Map String [Region]), identifier_Syn_MElse :: String, isInModule_Syn_MElse :: Bool, mtokenPos_Syn_MElse :: Region, scopes_Syn_MElse :: ([M.Map String (Bool, Region)]), statementCount_Syn_MElse :: Int, variableStyle_Syn_MElse :: DeterminedVariableStyle, warnings_Syn_MElse :: ([String -> LintMessage])}
+wrap_MElse
+  :: T_MElse
+  -> Inh_MElse
+  -> Syn_MElse
+wrap_MElse sem (Inh_MElse _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_MElse _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MElse_MElse
+  :: T_Region
+  -> T_Block
+  -> T_MElse
+sem_MElse_MElse pos_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case (pos_) of
+            (_posIcopy, _posIidentifier, _posIwarnings) ->
+              ( case ( ( MElse _posIcopy _bodyIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_MElse_MElse_1 :: T_MElse_1
+                                      sem_MElse_MElse_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( False
+                                                       )
+                                                     ) of
+                                                  _lhsOelseExists ->
+                                                    ( case ( ( _lhsIscopes
+                                                             )
+                                                           ) of
+                                                        _bodyOscopes ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _bodyOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _bodyOisInModule ->
+                                                                      ( case ( ( _lhsIglobalDefinitions
+                                                                               )
+                                                                             ) of
+                                                                          _bodyOglobalDefinitions ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _bodyOconfig ->
+                                                                                  ( case ( ( _lhsIvariableStyle
+                                                                                           )
+                                                                                         ) of
+                                                                                      _bodyOvariableStyle ->
+                                                                                        ( case ( ( _lhsIscopeLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _bodyOscopeLevel ->
+                                                                                              ( case ( ( _lhsImtokenPos
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _bodyOmtokenPos ->
+                                                                                                    ( case ( ( _lhsIloopLevel
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _bodyOloopLevel ->
+                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _bodyOfuncName ->
+                                                                                                                ( case ( ( False
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _bodyOisRepeat ->
+                                                                                                                      ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                          (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                            ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOglobalDefinitions ->
+                                                                                                                                  ( case ( ( (const _posIidentifier _bodyIidentifier)
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOidentifier ->
+                                                                                                                                        ( case ( ( _bodyIisInModule
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOisInModule ->
+                                                                                                                                              ( case ( ( _posIcopy
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOmtokenPos ->
+                                                                                                                                                    ( case ( ( _bodyIscopes
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOscopes ->
+                                                                                                                                                          ( case ( ( _bodyIstatementCount
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOstatementCount ->
+                                                                                                                                                                ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOvariableStyle ->
+                                                                                                                                                                      ( case ( ( _posIwarnings ++ _bodyIwarnings
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                            (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_MElse_MElse_1
+                                   )
+                                 ) of
+                              (sem_MElse_1) ->
+                                (_lhsOcopy, sem_MElse_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- MElseIf -----------------------------------------------------
+-- cata
+sem_MElseIf
+  :: MElseIf
+  -> T_MElseIf
+sem_MElseIf (MElseIf _pos _elif) =
+  (sem_MElseIf_MElseIf (sem_Region _pos) (sem_ElseIf _elif))
+
+-- semantic domain
+type T_MElseIf = (MElseIf, T_MElseIf_1)
+type T_MElseIf_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MElseIf = Inh_MElseIf {config_Inh_MElseIf :: LintSettings, funcName_Inh_MElseIf :: String, globalDefinitions_Inh_MElseIf :: (M.Map String [Region]), isInModule_Inh_MElseIf :: Bool, isMeta_Inh_MElseIf :: Bool, loopLevel_Inh_MElseIf :: Int, mtokenPos_Inh_MElseIf :: Region, scopeLevel_Inh_MElseIf :: Int, scopes_Inh_MElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MElseIf :: DeterminedVariableStyle}
+data Syn_MElseIf = Syn_MElseIf {copy_Syn_MElseIf :: MElseIf, globalDefinitions_Syn_MElseIf :: (M.Map String [Region]), identifier_Syn_MElseIf :: String, isInModule_Syn_MElseIf :: Bool, mtokenPos_Syn_MElseIf :: Region, scopes_Syn_MElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MElseIf :: DeterminedVariableStyle, warnings_Syn_MElseIf :: ([String -> LintMessage])}
+wrap_MElseIf
+  :: T_MElseIf
+  -> Inh_MElseIf
+  -> Syn_MElseIf
+wrap_MElseIf sem (Inh_MElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_MElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MElseIf_MElseIf
+  :: T_Region
+  -> T_ElseIf
+  -> T_MElseIf
+sem_MElseIf_MElseIf pos_ elif_ =
+  ( case (elif_) of
+      (_elifIcopy, elif_1) ->
+        ( case (pos_) of
+            (_posIcopy, _posIidentifier, _posIwarnings) ->
+              ( case ( ( MElseIf _posIcopy _elifIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_MElseIf_MElseIf_1 :: T_MElseIf_1
+                                      sem_MElseIf_MElseIf_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _elifOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _elifOisMeta ->
+                                                          ( case ( ( _lhsIisInModule
+                                                                   )
+                                                                 ) of
+                                                              _elifOisInModule ->
+                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                         )
+                                                                       ) of
+                                                                    _elifOglobalDefinitions ->
+                                                                      ( case ( ( _lhsIconfig
+                                                                               )
+                                                                             ) of
+                                                                          _elifOconfig ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _elifOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _elifOscopeLevel ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _elifOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _elifOfuncName ->
+                                                                                                    ( case ( ( _posIcopy
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _elifOmtokenPos ->
+                                                                                                          ( case (elif_1 _elifOconfig _elifOfuncName _elifOglobalDefinitions _elifOisInModule _elifOisMeta _elifOloopLevel _elifOmtokenPos _elifOscopeLevel _elifOscopes _elifOvariableStyle) of
+                                                                                                              (_elifIglobalDefinitions, _elifIidentifier, _elifIisInModule, _elifImtokenPos, _elifIscopes, _elifIvariableStyle, _elifIwarnings) ->
+                                                                                                                ( case ( ( _elifIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( (const _posIidentifier _elifIidentifier)
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( _elifIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisInModule ->
+                                                                                                                                  ( case ( ( _elifImtokenPos
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                        ( case ( ( _elifIscopes
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOscopes ->
+                                                                                                                                              ( case ( ( _elifIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                    ( case ( ( _posIwarnings ++ _elifIwarnings
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                          (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_MElseIf_MElseIf_1
+                                   )
+                                 ) of
+                              (sem_MElseIf_1) ->
+                                (_lhsOcopy, sem_MElseIf_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- MExpr -------------------------------------------------------
+-- cata
+sem_MExpr
+  :: MExpr
+  -> T_MExpr
+sem_MExpr (MExpr _pos _expr) =
+  (sem_MExpr_MExpr (sem_Region _pos) (sem_Expr _expr))
+
+-- semantic domain
+type T_MExpr = (MExpr, Region, T_MExpr_1)
+type T_MExpr_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> Bool
+  -> (Maybe MToken)
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, (Maybe MToken), ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MExpr = Inh_MExpr {config_Inh_MExpr :: LintSettings, funcName_Inh_MExpr :: String, globalDefinitions_Inh_MExpr :: (M.Map String [Region]), inParentheses_Inh_MExpr :: Bool, isInModule_Inh_MExpr :: Bool, isMeta_Inh_MExpr :: Bool, isNegation_Inh_MExpr :: Bool, loopLevel_Inh_MExpr :: Int, mtokenPos_Inh_MExpr :: Region, scopeLevel_Inh_MExpr :: Int, scopes_Inh_MExpr :: ([M.Map String (Bool, Region)]), topLevel_Inh_MExpr :: Bool, varBeingDefined_Inh_MExpr :: (Maybe MToken), variableStyle_Inh_MExpr :: DeterminedVariableStyle}
+data Syn_MExpr = Syn_MExpr {copy_Syn_MExpr :: MExpr, globalDefinitions_Syn_MExpr :: (M.Map String [Region]), identifier_Syn_MExpr :: String, isInModule_Syn_MExpr :: Bool, isSimpleExpression_Syn_MExpr :: Bool, isSingleVar_Syn_MExpr :: (Maybe MToken), mtokenPos_Syn_MExpr :: Region, scopes_Syn_MExpr :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MExpr :: DeterminedVariableStyle, warnings_Syn_MExpr :: ([String -> LintMessage])}
+wrap_MExpr
+  :: T_MExpr
+  -> Inh_MExpr
+  -> Syn_MExpr
+wrap_MExpr sem (Inh_MExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, _lhsOmtokenPos, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle
+    in
+      (Syn_MExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MExpr_MExpr
+  :: T_Region
+  -> T_Expr
+  -> T_MExpr
+sem_MExpr_MExpr pos_ expr_ =
+  ( case (expr_) of
+      (_exprIcopy, expr_1) ->
+        ( case (pos_) of
+            (_posIcopy, _posIidentifier, _posIwarnings) ->
+              ( case ( ( MExpr _posIcopy _exprIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( _posIcopy
+                                   )
+                                 ) of
+                              _lhsOmtokenPos ->
+                                ( case ( ( let
+                                            sem_MExpr_MExpr_1 :: T_MExpr_1
+                                            sem_MExpr_MExpr_1 =
+                                              ( \_lhsIconfig
+                                                 _lhsIfuncName
+                                                 _lhsIglobalDefinitions
+                                                 _lhsIinParentheses
+                                                 _lhsIisInModule
+                                                 _lhsIisMeta
+                                                 _lhsIisNegation
+                                                 _lhsIloopLevel
+                                                 _lhsImtokenPos
+                                                 _lhsIscopeLevel
+                                                 _lhsIscopes
+                                                 _lhsItopLevel
+                                                 _lhsIvarBeingDefined
+                                                 _lhsIvariableStyle ->
+                                                    ( case ( ( _lhsIvarBeingDefined
+                                                             )
+                                                           ) of
+                                                        _exprOvarBeingDefined ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _exprOscopes ->
+                                                                ( case ( ( _lhsIisMeta
+                                                                         )
+                                                                       ) of
+                                                                    _exprOisMeta ->
+                                                                      ( case ( ( _lhsIisInModule
+                                                                               )
+                                                                             ) of
+                                                                          _exprOisInModule ->
+                                                                            ( case ( ( _lhsIglobalDefinitions
+                                                                                     )
+                                                                                   ) of
+                                                                                _exprOglobalDefinitions ->
+                                                                                  ( case ( ( _lhsIconfig
+                                                                                           )
+                                                                                         ) of
+                                                                                      _exprOconfig ->
+                                                                                        ( case ( ( _lhsIvariableStyle
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _exprOvariableStyle ->
+                                                                                              ( case ( ( _lhsItopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _exprOtopLevel ->
+                                                                                                    ( case ( ( _lhsIscopeLevel
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _exprOscopeLevel ->
+                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _exprOloopLevel ->
+                                                                                                                ( case ( ( _lhsIisNegation
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _exprOisNegation ->
+                                                                                                                      ( case ( ( _lhsIinParentheses
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _exprOinParentheses ->
+                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _exprOfuncName ->
+                                                                                                                                  ( case ( ( _posIcopy
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _exprOmtokenPos ->
+                                                                                                                                        ( case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of
+                                                                                                                                            (_exprIglobalDefinitions, _exprIidentifier, _exprIisInModule, _exprIisSimpleExpression, _exprIisSingleVar, _exprImtokenPos, _exprIscopes, _exprIvariableStyle, _exprIwarnings) ->
+                                                                                                                                              ( case ( ( _exprIglobalDefinitions
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOglobalDefinitions ->
+                                                                                                                                                    ( case ( ( (const _posIidentifier _exprIidentifier)
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOidentifier ->
+                                                                                                                                                          ( case ( ( _exprIisInModule
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOisInModule ->
+                                                                                                                                                                ( case ( ( _exprIisSimpleExpression
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOisSimpleExpression ->
+                                                                                                                                                                      ( case ( ( _exprIisSingleVar
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOisSingleVar ->
+                                                                                                                                                                            ( case ( ( _exprIscopes
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _lhsOscopes ->
+                                                                                                                                                                                  ( case ( ( _exprIvariableStyle
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                                                                        ( case ( ( _posIwarnings ++ _exprIwarnings
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                           in
+                                            sem_MExpr_MExpr_1
+                                         )
+                                       ) of
+                                    (sem_MExpr_1) ->
+                                      (_lhsOcopy, _lhsOmtokenPos, sem_MExpr_1)
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- MExprList ---------------------------------------------------
+-- cata
+sem_MExprList
+  :: MExprList
+  -> T_MExprList
+sem_MExprList list =
+  (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))
+
+-- semantic domain
+type T_MExprList = (MExprList, T_MExprList_1)
+type T_MExprList_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> Bool
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MExprList = Inh_MExprList {config_Inh_MExprList :: LintSettings, funcName_Inh_MExprList :: String, globalDefinitions_Inh_MExprList :: (M.Map String [Region]), inParentheses_Inh_MExprList :: Bool, isInModule_Inh_MExprList :: Bool, isMeta_Inh_MExprList :: Bool, loopLevel_Inh_MExprList :: Int, mtokenPos_Inh_MExprList :: Region, scopeLevel_Inh_MExprList :: Int, scopes_Inh_MExprList :: ([M.Map String (Bool, Region)]), topLevel_Inh_MExprList :: Bool, variableStyle_Inh_MExprList :: DeterminedVariableStyle}
+data Syn_MExprList = Syn_MExprList {copy_Syn_MExprList :: MExprList, globalDefinitions_Syn_MExprList :: (M.Map String [Region]), identifier_Syn_MExprList :: String, isInModule_Syn_MExprList :: Bool, mtokenPos_Syn_MExprList :: Region, scopes_Syn_MExprList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MExprList :: DeterminedVariableStyle, warnings_Syn_MExprList :: ([String -> LintMessage])}
+wrap_MExprList
+  :: T_MExprList
+  -> Inh_MExprList
+  -> Syn_MExprList
+wrap_MExprList sem (Inh_MExprList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle
+    in
+      (Syn_MExprList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MExprList_Cons
+  :: T_MExpr
+  -> T_MExprList
+  -> T_MExprList
+sem_MExprList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, tl_1) ->
+        ( case (hd_) of
+            (_hdIcopy, _hdImtokenPos, hd_1) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_MExprList_Cons_1 :: T_MExprList_1
+                                      sem_MExprList_Cons_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIinParentheses
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsItopLevel
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _hdOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _hdOisMeta ->
+                                                          ( case ( ( _lhsIconfig
+                                                                   )
+                                                                 ) of
+                                                              _hdOconfig ->
+                                                                ( case ( ( Nothing
+                                                                         )
+                                                                       ) of
+                                                                    _hdOvarBeingDefined ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _hdOvariableStyle ->
+                                                                            ( case ( ( _lhsItopLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _hdOtopLevel ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _hdOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _hdOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _hdOloopLevel ->
+                                                                                                    ( case ( ( _lhsIisInModule
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _hdOisInModule ->
+                                                                                                          ( case ( ( _lhsIinParentheses
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _hdOinParentheses ->
+                                                                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _hdOglobalDefinitions ->
+                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _hdOfuncName ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _hdOisNegation ->
+                                                                                                                                  ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOinParentheses _hdOisInModule _hdOisMeta _hdOisNegation _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOtopLevel _hdOvarBeingDefined _hdOvariableStyle) of
+                                                                                                                                      (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdIisSimpleExpression, _hdIisSingleVar, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->
+                                                                                                                                        ( case ( ( _hdIscopes
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _tlOscopes ->
+                                                                                                                                              ( case ( ( _lhsIisMeta
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _tlOisMeta ->
+                                                                                                                                                    ( case ( ( _hdIisInModule
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _tlOisInModule ->
+                                                                                                                                                          ( case ( ( _hdIglobalDefinitions
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _tlOglobalDefinitions ->
+                                                                                                                                                                ( case ( ( _lhsIconfig
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _tlOconfig ->
+                                                                                                                                                                      ( case ( ( _hdIvariableStyle
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _tlOvariableStyle ->
+                                                                                                                                                                            ( case ( ( _lhsItopLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _tlOtopLevel ->
+                                                                                                                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _tlOscopeLevel ->
+                                                                                                                                                                                        ( case ( ( _hdImtokenPos
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _tlOmtokenPos ->
+                                                                                                                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _tlOloopLevel ->
+                                                                                                                                                                                                    ( case ( ( _lhsIinParentheses
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _tlOinParentheses ->
+                                                                                                                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _tlOfuncName ->
+                                                                                                                                                                                                                ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOinParentheses _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOtopLevel _tlOvariableStyle) of
+                                                                                                                                                                                                                    (_tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->
+                                                                                                                                                                                                                      ( case ( ( _tlIglobalDefinitions
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                            ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOidentifier ->
+                                                                                                                                                                                                                                  ( case ( ( _tlIisInModule
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                                                                                                                        ( case ( ( _hdImtokenPos
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                              ( case ( ( _tlIscopes
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                    ( case ( ( _tlIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _lhsOwarnings ->
+                                                                                                                                                                                                                                                                (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_MExprList_Cons_1
+                                   )
+                                 ) of
+                              (sem_MExprList_1) ->
+                                (_lhsOcopy, sem_MExprList_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_MExprList_Nil :: T_MExprList
+sem_MExprList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_MExprList_Nil_1 :: T_MExprList_1
+                          sem_MExprList_Nil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIinParentheses
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsItopLevel
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_MExprList_Nil_1
+                       )
+                     ) of
+                  (sem_MExprList_1) ->
+                    (_lhsOcopy, sem_MExprList_1)
+              )
+        )
+  )
+
+-- MStat -------------------------------------------------------
+-- cata
+sem_MStat
+  :: MStat
+  -> T_MStat
+sem_MStat (MStat _pos _stat) =
+  (sem_MStat_MStat (sem_Region _pos) (sem_Stat _stat))
+
+-- semantic domain
+type T_MStat = (MStat, T_MStat_1)
+type T_MStat_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MStat = Inh_MStat {config_Inh_MStat :: LintSettings, funcName_Inh_MStat :: String, globalDefinitions_Inh_MStat :: (M.Map String [Region]), isInModule_Inh_MStat :: Bool, isMeta_Inh_MStat :: Bool, loopLevel_Inh_MStat :: Int, mtokenPos_Inh_MStat :: Region, scopeLevel_Inh_MStat :: Int, scopes_Inh_MStat :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MStat :: DeterminedVariableStyle}
+data Syn_MStat = Syn_MStat {copy_Syn_MStat :: MStat, globalDefinitions_Syn_MStat :: (M.Map String [Region]), identifier_Syn_MStat :: String, isIfStatement_Syn_MStat :: Bool, isInModule_Syn_MStat :: Bool, mtokenPos_Syn_MStat :: Region, scopes_Syn_MStat :: ([M.Map String (Bool, Region)]), statementCount_Syn_MStat :: Int, variableStyle_Syn_MStat :: DeterminedVariableStyle, warnings_Syn_MStat :: ([String -> LintMessage])}
+wrap_MStat
+  :: T_MStat
+  -> Inh_MStat
+  -> Syn_MStat
+wrap_MStat sem (Inh_MStat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_MStat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MStat_MStat
+  :: T_Region
+  -> T_Stat
+  -> T_MStat
+sem_MStat_MStat pos_ stat_ =
+  ( case (stat_) of
+      (_statIcopy, stat_1) ->
+        ( case (pos_) of
+            (_posIcopy, _posIidentifier, _posIwarnings) ->
+              ( case ( ( MStat _posIcopy _statIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_MStat_MStat_1 :: T_MStat_1
+                                      sem_MStat_MStat_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _statOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _statOisMeta ->
+                                                          ( case ( ( _lhsIisInModule
+                                                                   )
+                                                                 ) of
+                                                              _statOisInModule ->
+                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                         )
+                                                                       ) of
+                                                                    _statOglobalDefinitions ->
+                                                                      ( case ( ( _lhsIconfig
+                                                                               )
+                                                                             ) of
+                                                                          _statOconfig ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _statOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _statOscopeLevel ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _statOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _statOfuncName ->
+                                                                                                    ( case ( ( _posIcopy
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _statOmtokenPos ->
+                                                                                                          ( case (stat_1 _statOconfig _statOfuncName _statOglobalDefinitions _statOisInModule _statOisMeta _statOloopLevel _statOmtokenPos _statOscopeLevel _statOscopes _statOvariableStyle) of
+                                                                                                              (_statIglobalDefinitions, _statIidentifier, _statIisIfStatement, _statIisInModule, _statImtokenPos, _statIscopes, _statIvariableStyle, _statIwarnings) ->
+                                                                                                                ( case ( ( _statIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( (const _posIidentifier _statIidentifier)
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( _statIisIfStatement
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                  ( case ( ( _statIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                        ( case ( ( _posIcopy
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                              ( case ( ( _statIscopes
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                    ( case ( ( 1
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOstatementCount ->
+                                                                                                                                                          ( case ( ( _statIvariableStyle
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOvariableStyle ->
+                                                                                                                                                                ( case ( ( _posIwarnings ++ _statIwarnings
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOwarnings ->
+                                                                                                                                                                      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_MStat_MStat_1
+                                   )
+                                 ) of
+                              (sem_MStat_1) ->
+                                (_lhsOcopy, sem_MStat_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- MStatList ---------------------------------------------------
+-- cata
+sem_MStatList
+  :: MStatList
+  -> T_MStatList
+sem_MStatList list =
+  (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))
+
+-- semantic domain
+type T_MStatList = (MStatList, T_MStatList_1)
+type T_MStatList_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MStatList = Inh_MStatList {config_Inh_MStatList :: LintSettings, funcName_Inh_MStatList :: String, globalDefinitions_Inh_MStatList :: (M.Map String [Region]), isInModule_Inh_MStatList :: Bool, isMeta_Inh_MStatList :: Bool, loopLevel_Inh_MStatList :: Int, mtokenPos_Inh_MStatList :: Region, scopeLevel_Inh_MStatList :: Int, scopes_Inh_MStatList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MStatList :: DeterminedVariableStyle}
+data Syn_MStatList = Syn_MStatList {copy_Syn_MStatList :: MStatList, globalDefinitions_Syn_MStatList :: (M.Map String [Region]), identifier_Syn_MStatList :: String, isIfStatement_Syn_MStatList :: Bool, isInModule_Syn_MStatList :: Bool, mtokenPos_Syn_MStatList :: Region, scopes_Syn_MStatList :: ([M.Map String (Bool, Region)]), statementCount_Syn_MStatList :: Int, variableStyle_Syn_MStatList :: DeterminedVariableStyle, warnings_Syn_MStatList :: ([String -> LintMessage])}
+wrap_MStatList
+  :: T_MStatList
+  -> Inh_MStatList
+  -> Syn_MStatList
+wrap_MStatList sem (Inh_MStatList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_MStatList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MStatList_Cons
+  :: T_MStat
+  -> T_MStatList
+  -> T_MStatList
+sem_MStatList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, tl_1) ->
+        ( case (hd_) of
+            (_hdIcopy, hd_1) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_MStatList_Cons_1 :: T_MStatList_1
+                                      sem_MStatList_Cons_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _hdOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _hdOisMeta ->
+                                                          ( case ( ( _lhsIconfig
+                                                                   )
+                                                                 ) of
+                                                              _hdOconfig ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _hdOvariableStyle ->
+                                                                      ( case ( ( _lhsIscopeLevel
+                                                                               )
+                                                                             ) of
+                                                                          _hdOscopeLevel ->
+                                                                            ( case ( ( _lhsImtokenPos
+                                                                                     )
+                                                                                   ) of
+                                                                                _hdOmtokenPos ->
+                                                                                  ( case ( ( _lhsIloopLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _hdOloopLevel ->
+                                                                                        ( case ( ( _lhsIisInModule
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _hdOisInModule ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _hdOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _hdOfuncName ->
+                                                                                                          ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
+                                                                                                              (_hdIglobalDefinitions, _hdIidentifier, _hdIisIfStatement, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIstatementCount, _hdIvariableStyle, _hdIwarnings) ->
+                                                                                                                ( case ( ( _hdIscopes
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _tlOscopes ->
+                                                                                                                      ( case ( ( _lhsIisMeta
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _tlOisMeta ->
+                                                                                                                            ( case ( ( _hdIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _tlOisInModule ->
+                                                                                                                                  ( case ( ( _hdIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _tlOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _tlOconfig ->
+                                                                                                                                              ( case ( ( _hdIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _tlOvariableStyle ->
+                                                                                                                                                    ( case ( ( _lhsIscopeLevel
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _tlOscopeLevel ->
+                                                                                                                                                          ( case ( ( _hdImtokenPos
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _tlOmtokenPos ->
+                                                                                                                                                                ( case ( ( _lhsIloopLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _tlOloopLevel ->
+                                                                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _tlOfuncName ->
+                                                                                                                                                                            ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
+                                                                                                                                                                                (_tlIglobalDefinitions, _tlIidentifier, _tlIisIfStatement, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIstatementCount, _tlIvariableStyle, _tlIwarnings) ->
+                                                                                                                                                                                  ( case ( ( _tlIglobalDefinitions
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOglobalDefinitions ->
+                                                                                                                                                                                        ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOidentifier ->
+                                                                                                                                                                                              ( case ( ( _hdIisIfStatement || _tlIisIfStatement
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOisIfStatement ->
+                                                                                                                                                                                                    ( case ( ( _tlIisInModule
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOisInModule ->
+                                                                                                                                                                                                          ( case ( ( _hdImtokenPos
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOmtokenPos ->
+                                                                                                                                                                                                                ( case ( ( _tlIscopes
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOscopes ->
+                                                                                                                                                                                                                      ( case ( ( _hdIstatementCount + _tlIstatementCount
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOstatementCount ->
+                                                                                                                                                                                                                            ( case ( ( _tlIvariableStyle
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOvariableStyle ->
+                                                                                                                                                                                                                                  ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOwarnings ->
+                                                                                                                                                                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_MStatList_Cons_1
+                                   )
+                                 ) of
+                              (sem_MStatList_1) ->
+                                (_lhsOcopy, sem_MStatList_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_MStatList_Nil :: T_MStatList
+sem_MStatList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_MStatList_Nil_1 :: T_MStatList_1
+                          sem_MStatList_Nil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( False
+                                                       )
+                                                     ) of
+                                                  _lhsOisIfStatement ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _lhsOisInModule ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( 0
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOstatementCount ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOvariableStyle ->
+                                                                                  ( case ( ( []
+                                                                                           )
+                                                                                         ) of
+                                                                                      _lhsOwarnings ->
+                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_MStatList_Nil_1
+                       )
+                     ) of
+                  (sem_MStatList_1) ->
+                    (_lhsOcopy, sem_MStatList_1)
+              )
+        )
+  )
+
+-- MToken ------------------------------------------------------
+-- cata
+sem_MToken
+  :: MToken
+  -> T_MToken
+sem_MToken (MToken _mpos _mtok) =
+  (sem_MToken_MToken (sem_Region _mpos) (sem_Token _mtok))
+
+-- semantic domain
+type T_MToken = (MToken, Token, Region, T_MToken_1)
+type T_MToken_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Region
+  -> ([M.Map String (Bool, Region)])
+  -> ((M.Map String [Region]), String, Bool, ([M.Map String (Bool, Region)]), ([String -> LintMessage]))
+data Inh_MToken = Inh_MToken {config_Inh_MToken :: LintSettings, funcName_Inh_MToken :: String, globalDefinitions_Inh_MToken :: (M.Map String [Region]), isInModule_Inh_MToken :: Bool, isMeta_Inh_MToken :: Bool, mtokenPos_Inh_MToken :: Region, scopes_Inh_MToken :: ([M.Map String (Bool, Region)])}
+data Syn_MToken = Syn_MToken {copy_Syn_MToken :: MToken, globalDefinitions_Syn_MToken :: (M.Map String [Region]), identifier_Syn_MToken :: String, isInModule_Syn_MToken :: Bool, mtok_Syn_MToken :: Token, mtokenPos_Syn_MToken :: Region, scopes_Syn_MToken :: ([M.Map String (Bool, Region)]), warnings_Syn_MToken :: ([String -> LintMessage])}
+wrap_MToken
+  :: T_MToken
+  -> Inh_MToken
+  -> Syn_MToken
+wrap_MToken sem (Inh_MToken _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =
+  ( let
+      (_lhsOcopy, _lhsOmtok, _lhsOmtokenPos, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOscopes, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes
+    in
+      (Syn_MToken _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtok _lhsOmtokenPos _lhsOscopes _lhsOwarnings)
+  )
+sem_MToken_MToken
+  :: T_Region
+  -> T_Token
+  -> T_MToken
+sem_MToken_MToken mpos_ mtok_ =
+  ( case (mtok_) of
+      (_mtokIcopy, _mtokIidentifier, _mtokIwarnings) ->
+        ( case (mpos_) of
+            (_mposIcopy, _mposIidentifier, _mposIwarnings) ->
+              ( case ( ( MToken _mposIcopy _mtokIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( _mtokIcopy
+                                   )
+                                 ) of
+                              _lhsOmtok ->
+                                ( case ( ( _mposIcopy
+                                         )
+                                       ) of
+                                    _lhsOmtokenPos ->
+                                      ( case ( ( let
+                                                  sem_MToken_MToken_1 :: T_MToken_1
+                                                  sem_MToken_MToken_1 =
+                                                    ( \_lhsIconfig
+                                                       _lhsIfuncName
+                                                       _lhsIglobalDefinitions
+                                                       _lhsIisInModule
+                                                       _lhsIisMeta
+                                                       _lhsImtokenPos
+                                                       _lhsIscopes ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _lhsOglobalDefinitions ->
+                                                                ( case ( ( _mtokIidentifier
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOidentifier ->
+                                                                      ( case ( ( _lhsIisInModule
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOisInModule ->
+                                                                            ( case ( ( _lhsIscopes
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOscopes ->
+                                                                                  ( case ( ( _mposIwarnings ++ _mtokIwarnings
+                                                                                           )
+                                                                                         ) of
+                                                                                      _warnings_augmented_syn ->
+                                                                                        ( case ( ( if not (lint_goto_identifier _lhsIconfig) || _mtokIidentifier /= "goto"
+                                                                                                    then id
+                                                                                                    else (:) $ warn _mposIcopy GotoAsIdentifier
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _warnings_augmented_f1 ->
+                                                                                              ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _lhsOwarnings ->
+                                                                                                    (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOscopes, _lhsOwarnings)
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                                 in
+                                                  sem_MToken_MToken_1
+                                               )
+                                             ) of
+                                          (sem_MToken_1) ->
+                                            (_lhsOcopy, _lhsOmtok, _lhsOmtokenPos, sem_MToken_1)
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- MTokenList --------------------------------------------------
+-- cata
+sem_MTokenList
+  :: MTokenList
+  -> T_MTokenList
+sem_MTokenList list =
+  (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))
+
+-- semantic domain
+type T_MTokenList =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Region
+  -> ([M.Map String (Bool, Region)])
+  -> (MTokenList, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), ([String -> LintMessage]))
+data Inh_MTokenList = Inh_MTokenList {config_Inh_MTokenList :: LintSettings, funcName_Inh_MTokenList :: String, globalDefinitions_Inh_MTokenList :: (M.Map String [Region]), isInModule_Inh_MTokenList :: Bool, isMeta_Inh_MTokenList :: Bool, mtokenPos_Inh_MTokenList :: Region, scopes_Inh_MTokenList :: ([M.Map String (Bool, Region)])}
+data Syn_MTokenList = Syn_MTokenList {copy_Syn_MTokenList :: MTokenList, globalDefinitions_Syn_MTokenList :: (M.Map String [Region]), identifier_Syn_MTokenList :: String, isInModule_Syn_MTokenList :: Bool, mtokenPos_Syn_MTokenList :: Region, scopes_Syn_MTokenList :: ([M.Map String (Bool, Region)]), warnings_Syn_MTokenList :: ([String -> LintMessage])}
+wrap_MTokenList
+  :: T_MTokenList
+  -> Inh_MTokenList
+  -> Syn_MTokenList
+wrap_MTokenList sem (Inh_MTokenList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =
+  ( let
+      (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes
+    in
+      (Syn_MTokenList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOwarnings)
+  )
+sem_MTokenList_Cons
+  :: T_MToken
+  -> T_MTokenList
+  -> T_MTokenList
+sem_MTokenList_Cons hd_ tl_ =
+  ( \_lhsIconfig
+     _lhsIfuncName
+     _lhsIglobalDefinitions
+     _lhsIisInModule
+     _lhsIisMeta
+     _lhsImtokenPos
+     _lhsIscopes ->
+        ( case ( ( _lhsIscopes
+                 )
+               ) of
+            _hdOscopes ->
+              ( case (hd_) of
+                  (_hdIcopy, _hdImtok, _hdImtokenPos, hd_1) ->
+                    ( case ( ( _lhsImtokenPos
+                             )
+                           ) of
+                        _hdOmtokenPos ->
+                          ( case ( ( _lhsIisMeta
+                                   )
+                                 ) of
+                              _hdOisMeta ->
+                                ( case ( ( _lhsIisInModule
+                                         )
+                                       ) of
+                                    _hdOisInModule ->
+                                      ( case ( ( _lhsIglobalDefinitions
+                                               )
+                                             ) of
+                                          _hdOglobalDefinitions ->
+                                            ( case ( ( _lhsIfuncName
+                                                     )
+                                                   ) of
+                                                _hdOfuncName ->
+                                                  ( case ( ( _lhsIconfig
+                                                           )
+                                                         ) of
+                                                      _hdOconfig ->
+                                                        ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOmtokenPos _hdOscopes) of
+                                                            (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdIscopes, _hdIwarnings) ->
+                                                              ( case ( ( _hdIscopes
+                                                                       )
+                                                                     ) of
+                                                                  _tlOscopes ->
+                                                                    ( case ( ( _hdImtokenPos
+                                                                             )
+                                                                           ) of
+                                                                        _tlOmtokenPos ->
+                                                                          ( case ( ( _lhsIisMeta
+                                                                                   )
+                                                                                 ) of
+                                                                              _tlOisMeta ->
+                                                                                ( case ( ( _hdIisInModule
+                                                                                         )
+                                                                                       ) of
+                                                                                    _tlOisInModule ->
+                                                                                      ( case ( ( _hdIglobalDefinitions
+                                                                                               )
+                                                                                             ) of
+                                                                                          _tlOglobalDefinitions ->
+                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tlOfuncName ->
+                                                                                                  ( case ( ( _lhsIconfig
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tlOconfig ->
+                                                                                                        ( case (tl_ _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOmtokenPos _tlOscopes) of
+                                                                                                            (_tlIcopy, _tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIwarnings) ->
+                                                                                                              ( case ( ( (:) _hdIcopy _tlIcopy
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _copy ->
+                                                                                                                    ( case ( ( _copy
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _lhsOcopy ->
+                                                                                                                          ( case ( ( _tlIglobalDefinitions
+                                                                                                                                   )
+                                                                                                                                 ) of
+                                                                                                                              _lhsOglobalDefinitions ->
+                                                                                                                                ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                         )
+                                                                                                                                       ) of
+                                                                                                                                    _lhsOidentifier ->
+                                                                                                                                      ( case ( ( _tlIisInModule
+                                                                                                                                               )
+                                                                                                                                             ) of
+                                                                                                                                          _lhsOisInModule ->
+                                                                                                                                            ( case ( ( _hdImtokenPos
+                                                                                                                                                     )
+                                                                                                                                                   ) of
+                                                                                                                                                _lhsOmtokenPos ->
+                                                                                                                                                  ( case ( ( _tlIscopes
+                                                                                                                                                           )
+                                                                                                                                                         ) of
+                                                                                                                                                      _lhsOscopes ->
+                                                                                                                                                        ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                 )
+                                                                                                                                                               ) of
+                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                              (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOwarnings)
+                                                                                                                                                        )
+                                                                                                                                                  )
+                                                                                                                                            )
+                                                                                                                                      )
+                                                                                                                                )
+                                                                                                                          )
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_MTokenList_Nil :: T_MTokenList
+sem_MTokenList_Nil =
+  ( \_lhsIconfig
+     _lhsIfuncName
+     _lhsIglobalDefinitions
+     _lhsIisInModule
+     _lhsIisMeta
+     _lhsImtokenPos
+     _lhsIscopes ->
+        ( case ( ( []
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( _lhsIglobalDefinitions
+                             )
+                           ) of
+                        _lhsOglobalDefinitions ->
+                          ( case ( ( unknownIdentifier
+                                   )
+                                 ) of
+                              _lhsOidentifier ->
+                                ( case ( ( _lhsIisInModule
+                                         )
+                                       ) of
+                                    _lhsOisInModule ->
+                                      ( case ( ( _lhsImtokenPos
+                                               )
+                                             ) of
+                                          _lhsOmtokenPos ->
+                                            ( case ( ( _lhsIscopes
+                                                     )
+                                                   ) of
+                                                _lhsOscopes ->
+                                                  ( case ( ( []
+                                                           )
+                                                         ) of
+                                                      _lhsOwarnings ->
+                                                        (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOwarnings)
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- MaybeMExpr --------------------------------------------------
+-- cata
+sem_MaybeMExpr
+  :: MaybeMExpr
+  -> T_MaybeMExpr
+sem_MaybeMExpr (Prelude.Just x) =
+  (sem_MaybeMExpr_Just (sem_MExpr x))
+sem_MaybeMExpr Prelude.Nothing =
+  sem_MaybeMExpr_Nothing
+
+-- semantic domain
+type T_MaybeMExpr = (MaybeMExpr, T_MaybeMExpr_1)
+type T_MaybeMExpr_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> (Maybe MToken)
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, (Maybe MToken), Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_MaybeMExpr = Inh_MaybeMExpr {config_Inh_MaybeMExpr :: LintSettings, funcName_Inh_MaybeMExpr :: String, globalDefinitions_Inh_MaybeMExpr :: (M.Map String [Region]), isInModule_Inh_MaybeMExpr :: Bool, isMeta_Inh_MaybeMExpr :: Bool, isNegation_Inh_MaybeMExpr :: Bool, loopLevel_Inh_MaybeMExpr :: Int, mtokenPos_Inh_MaybeMExpr :: Region, scopeLevel_Inh_MaybeMExpr :: Int, scopes_Inh_MaybeMExpr :: ([M.Map String (Bool, Region)]), varBeingDefined_Inh_MaybeMExpr :: (Maybe MToken), variableStyle_Inh_MaybeMExpr :: DeterminedVariableStyle}
+data Syn_MaybeMExpr = Syn_MaybeMExpr {copy_Syn_MaybeMExpr :: MaybeMExpr, globalDefinitions_Syn_MaybeMExpr :: (M.Map String [Region]), identifier_Syn_MaybeMExpr :: String, isInModule_Syn_MaybeMExpr :: Bool, isSingleVar_Syn_MaybeMExpr :: (Maybe MToken), mtokenPos_Syn_MaybeMExpr :: Region, scopes_Syn_MaybeMExpr :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MaybeMExpr :: DeterminedVariableStyle, warnings_Syn_MaybeMExpr :: ([String -> LintMessage])}
+wrap_MaybeMExpr
+  :: T_MaybeMExpr
+  -> Inh_MaybeMExpr
+  -> Syn_MaybeMExpr
+wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle
+    in
+      (Syn_MaybeMExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_MaybeMExpr_Just
+  :: T_MExpr
+  -> T_MaybeMExpr
+sem_MaybeMExpr_Just just_ =
+  ( case (just_) of
+      (_justIcopy, _justImtokenPos, just_1) ->
+        ( case ( ( Just _justIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_MaybeMExpr_Just_1 :: T_MaybeMExpr_1
+                                sem_MaybeMExpr_Just_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIisNegation
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvarBeingDefined
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIvarBeingDefined
+                                                 )
+                                               ) of
+                                            _justOvarBeingDefined ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _justOscopes ->
+                                                    ( case ( ( _lhsIisMeta
+                                                             )
+                                                           ) of
+                                                        _justOisMeta ->
+                                                          ( case ( ( _lhsIisInModule
+                                                                   )
+                                                                 ) of
+                                                              _justOisInModule ->
+                                                                ( case ( ( _lhsIglobalDefinitions
+                                                                         )
+                                                                       ) of
+                                                                    _justOglobalDefinitions ->
+                                                                      ( case ( ( _lhsIconfig
+                                                                               )
+                                                                             ) of
+                                                                          _justOconfig ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _justOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _justOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _justOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _justOloopLevel ->
+                                                                                                    ( case ( ( _lhsIisNegation
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _justOisNegation ->
+                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _justOfuncName ->
+                                                                                                                ( case ( ( False
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _justOtopLevel ->
+                                                                                                                      ( case ( ( False
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _justOinParentheses ->
+                                                                                                                            ( case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOinParentheses _justOisInModule _justOisMeta _justOisNegation _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOtopLevel _justOvarBeingDefined _justOvariableStyle) of
+                                                                                                                                (_justIglobalDefinitions, _justIidentifier, _justIisInModule, _justIisSimpleExpression, _justIisSingleVar, _justIscopes, _justIvariableStyle, _justIwarnings) ->
+                                                                                                                                  ( case ( ( _justIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _justIidentifier
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOidentifier ->
+                                                                                                                                              ( case ( ( _justIisInModule
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOisInModule ->
+                                                                                                                                                    ( case ( ( _justIisSingleVar
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOisSingleVar ->
+                                                                                                                                                          ( case ( ( _justImtokenPos
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOmtokenPos ->
+                                                                                                                                                                ( case ( ( _justIscopes
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOscopes ->
+                                                                                                                                                                      ( case ( ( _justIvariableStyle
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOvariableStyle ->
+                                                                                                                                                                            ( case ( ( _justIwarnings
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_MaybeMExpr_Just_1
+                             )
+                           ) of
+                        (sem_MaybeMExpr_1) ->
+                          (_lhsOcopy, sem_MaybeMExpr_1)
+                    )
+              )
+        )
+  )
+sem_MaybeMExpr_Nothing :: T_MaybeMExpr
+sem_MaybeMExpr_Nothing =
+  ( case ( ( Nothing
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_MaybeMExpr_Nothing_1 :: T_MaybeMExpr_1
+                          sem_MaybeMExpr_Nothing_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIisNegation
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvarBeingDefined
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( Nothing
+                                                             )
+                                                           ) of
+                                                        _lhsOisSingleVar ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_MaybeMExpr_Nothing_1
+                       )
+                     ) of
+                  (sem_MaybeMExpr_1) ->
+                    (_lhsOcopy, sem_MaybeMExpr_1)
+              )
+        )
+  )
+
+-- PFExprSuffix ------------------------------------------------
+-- cata
+sem_PFExprSuffix
+  :: PFExprSuffix
+  -> T_PFExprSuffix
+sem_PFExprSuffix (Call _args) =
+  (sem_PFExprSuffix_Call (sem_Args _args))
+sem_PFExprSuffix (MetaCall _fn _args) =
+  (sem_PFExprSuffix_MetaCall (sem_MToken _fn) (sem_Args _args))
+sem_PFExprSuffix (ExprIndex _index) =
+  (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))
+sem_PFExprSuffix (DotIndex _index) =
+  (sem_PFExprSuffix_DotIndex (sem_MToken _index))
+
+-- semantic domain
+type T_PFExprSuffix = (PFExprSuffix, T_PFExprSuffix_1)
+type T_PFExprSuffix_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_PFExprSuffix = Inh_PFExprSuffix {config_Inh_PFExprSuffix :: LintSettings, funcName_Inh_PFExprSuffix :: String, globalDefinitions_Inh_PFExprSuffix :: (M.Map String [Region]), isInModule_Inh_PFExprSuffix :: Bool, isMeta_Inh_PFExprSuffix :: Bool, loopLevel_Inh_PFExprSuffix :: Int, mtokenPos_Inh_PFExprSuffix :: Region, scopeLevel_Inh_PFExprSuffix :: Int, scopes_Inh_PFExprSuffix :: ([M.Map String (Bool, Region)]), variableStyle_Inh_PFExprSuffix :: DeterminedVariableStyle}
+data Syn_PFExprSuffix = Syn_PFExprSuffix {copy_Syn_PFExprSuffix :: PFExprSuffix, globalDefinitions_Syn_PFExprSuffix :: (M.Map String [Region]), identifier_Syn_PFExprSuffix :: String, isInModule_Syn_PFExprSuffix :: Bool, isSimpleExpression_Syn_PFExprSuffix :: Bool, mtokenPos_Syn_PFExprSuffix :: Region, scopes_Syn_PFExprSuffix :: ([M.Map String (Bool, Region)]), variableStyle_Syn_PFExprSuffix :: DeterminedVariableStyle, warnings_Syn_PFExprSuffix :: ([String -> LintMessage])}
+wrap_PFExprSuffix
+  :: T_PFExprSuffix
+  -> Inh_PFExprSuffix
+  -> Syn_PFExprSuffix
+wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_PFExprSuffix _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_PFExprSuffix_Call
+  :: T_Args
+  -> T_PFExprSuffix
+sem_PFExprSuffix_Call args_ =
+  ( case (args_) of
+      (_argsIcopy, args_1) ->
+        ( case ( ( Call _argsIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_PFExprSuffix_Call_1 :: T_PFExprSuffix_1
+                                sem_PFExprSuffix_Call_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _argsOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _argsOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _argsOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _argsOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _argsOconfig ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _argsOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _argsOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _argsOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _argsOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _argsOfuncName ->
+                                                                                                    ( case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of
+                                                                                                        (_argsIglobalDefinitions, _argsIidentifier, _argsIisInModule, _argsImtokenPos, _argsIscopes, _argsIvariableStyle, _argsIwarnings) ->
+                                                                                                          ( case ( ( _argsIglobalDefinitions
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _lhsOglobalDefinitions ->
+                                                                                                                ( case ( ( _argsIidentifier
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOidentifier ->
+                                                                                                                      ( case ( ( _argsIisInModule
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOisInModule ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisSimpleExpression ->
+                                                                                                                                  ( case ( ( _argsImtokenPos
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                        ( case ( ( _argsIscopes
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOscopes ->
+                                                                                                                                              ( case ( ( _argsIvariableStyle
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                    ( case ( ( _argsIwarnings
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                          (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_PFExprSuffix_Call_1
+                             )
+                           ) of
+                        (sem_PFExprSuffix_1) ->
+                          (_lhsOcopy, sem_PFExprSuffix_1)
+                    )
+              )
+        )
+  )
+sem_PFExprSuffix_MetaCall
+  :: T_MToken
+  -> T_Args
+  -> T_PFExprSuffix
+sem_PFExprSuffix_MetaCall fn_ args_ =
+  ( case (args_) of
+      (_argsIcopy, args_1) ->
+        ( case (fn_) of
+            (_fnIcopy, _fnImtok, _fnImtokenPos, fn_1) ->
+              ( case ( ( MetaCall _fnIcopy _argsIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_PFExprSuffix_MetaCall_1 :: T_PFExprSuffix_1
+                                      sem_PFExprSuffix_MetaCall_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _fnOscopes ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _fnOmtokenPos ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _fnOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _fnOisInModule ->
+                                                                      ( case ( ( _lhsIglobalDefinitions
+                                                                               )
+                                                                             ) of
+                                                                          _fnOglobalDefinitions ->
+                                                                            ( case ( ( _lhsIfuncName
+                                                                                     )
+                                                                                   ) of
+                                                                                _fnOfuncName ->
+                                                                                  ( case ( ( _lhsIconfig
+                                                                                           )
+                                                                                         ) of
+                                                                                      _fnOconfig ->
+                                                                                        ( case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOisInModule _fnOisMeta _fnOmtokenPos _fnOscopes) of
+                                                                                            (_fnIglobalDefinitions, _fnIidentifier, _fnIisInModule, _fnIscopes, _fnIwarnings) ->
+                                                                                              ( case ( ( _fnIscopes
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _argsOscopes ->
+                                                                                                    ( case ( ( _lhsIisMeta
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _argsOisMeta ->
+                                                                                                          ( case ( ( _fnIisInModule
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _argsOisInModule ->
+                                                                                                                ( case ( ( _fnIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _argsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _lhsIconfig
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _argsOconfig ->
+                                                                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _argsOvariableStyle ->
+                                                                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _argsOscopeLevel ->
+                                                                                                                                        ( case ( ( _fnImtokenPos
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _argsOmtokenPos ->
+                                                                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _argsOloopLevel ->
+                                                                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _argsOfuncName ->
+                                                                                                                                                          ( case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of
+                                                                                                                                                              (_argsIglobalDefinitions, _argsIidentifier, _argsIisInModule, _argsImtokenPos, _argsIscopes, _argsIvariableStyle, _argsIwarnings) ->
+                                                                                                                                                                ( case ( ( _argsIglobalDefinitions
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                      ( case ( ( (const _fnIidentifier _argsIidentifier)
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                            ( case ( ( _argsIisInModule
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _lhsOisInModule ->
+                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOisSimpleExpression ->
+                                                                                                                                                                                        ( case ( ( _argsImtokenPos
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                              ( case ( ( _argsIscopes
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                    ( case ( ( _argsIvariableStyle
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                          ( case ( ( _fnIwarnings ++ _argsIwarnings
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOwarnings ->
+                                                                                                                                                                                                                (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_PFExprSuffix_MetaCall_1
+                                   )
+                                 ) of
+                              (sem_PFExprSuffix_1) ->
+                                (_lhsOcopy, sem_PFExprSuffix_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_PFExprSuffix_ExprIndex
+  :: T_MExpr
+  -> T_PFExprSuffix
+sem_PFExprSuffix_ExprIndex index_ =
+  ( case (index_) of
+      (_indexIcopy, _indexImtokenPos, index_1) ->
+        ( case ( ( ExprIndex _indexIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_PFExprSuffix_ExprIndex_1 :: T_PFExprSuffix_1
+                                sem_PFExprSuffix_ExprIndex_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _indexOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _indexOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _indexOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _indexOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _indexOconfig ->
+                                                                      ( case ( ( Nothing
+                                                                               )
+                                                                             ) of
+                                                                          _indexOvarBeingDefined ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _indexOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _indexOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _indexOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _indexOloopLevel ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _indexOfuncName ->
+                                                                                                          ( case ( ( True
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _indexOtopLevel ->
+                                                                                                                ( case ( ( True
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _indexOinParentheses ->
+                                                                                                                      ( case ( ( False
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _indexOisNegation ->
+                                                                                                                            ( case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOinParentheses _indexOisInModule _indexOisMeta _indexOisNegation _indexOloopLevel _indexOmtokenPos _indexOscopeLevel _indexOscopes _indexOtopLevel _indexOvarBeingDefined _indexOvariableStyle) of
+                                                                                                                                (_indexIglobalDefinitions, _indexIidentifier, _indexIisInModule, _indexIisSimpleExpression, _indexIisSingleVar, _indexIscopes, _indexIvariableStyle, _indexIwarnings) ->
+                                                                                                                                  ( case ( ( _indexIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _indexIidentifier
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOidentifier ->
+                                                                                                                                              ( case ( ( _indexIisInModule
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOisInModule ->
+                                                                                                                                                    ( case ( ( _indexIisSimpleExpression
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOisSimpleExpression ->
+                                                                                                                                                          ( case ( ( _indexImtokenPos
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOmtokenPos ->
+                                                                                                                                                                ( case ( ( _indexIscopes
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOscopes ->
+                                                                                                                                                                      ( case ( ( _indexIvariableStyle
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOvariableStyle ->
+                                                                                                                                                                            ( case ( ( _indexIwarnings
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_PFExprSuffix_ExprIndex_1
+                             )
+                           ) of
+                        (sem_PFExprSuffix_1) ->
+                          (_lhsOcopy, sem_PFExprSuffix_1)
+                    )
+              )
+        )
+  )
+sem_PFExprSuffix_DotIndex
+  :: T_MToken
+  -> T_PFExprSuffix
+sem_PFExprSuffix_DotIndex index_ =
+  ( case (index_) of
+      (_indexIcopy, _indexImtok, _indexImtokenPos, index_1) ->
+        ( case ( ( DotIndex _indexIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_PFExprSuffix_DotIndex_1 :: T_PFExprSuffix_1
+                                sem_PFExprSuffix_DotIndex_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _indexOglobalDefinitions ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _indexOscopes ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _indexOmtokenPos ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _indexOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _indexOisInModule ->
+                                                                      ( case ( ( _lhsIfuncName
+                                                                               )
+                                                                             ) of
+                                                                          _indexOfuncName ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _indexOconfig ->
+                                                                                  ( case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOisInModule _indexOisMeta _indexOmtokenPos _indexOscopes) of
+                                                                                      (_indexIglobalDefinitions, _indexIidentifier, _indexIisInModule, _indexIscopes, _indexIwarnings) ->
+                                                                                        ( case ( ( _indexIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _lhsOglobalDefinitions ->
+                                                                                              ( case ( ( _indexIidentifier
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _lhsOidentifier ->
+                                                                                                    ( case ( ( _indexIisInModule
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _lhsOisInModule ->
+                                                                                                          ( case ( ( True
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _lhsOisSimpleExpression ->
+                                                                                                                ( case ( ( _indexImtokenPos
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOmtokenPos ->
+                                                                                                                      ( case ( ( _indexIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOscopes ->
+                                                                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOvariableStyle ->
+                                                                                                                                  ( case ( ( _indexIwarnings
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOwarnings ->
+                                                                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_PFExprSuffix_DotIndex_1
+                             )
+                           ) of
+                        (sem_PFExprSuffix_1) ->
+                          (_lhsOcopy, sem_PFExprSuffix_1)
+                    )
+              )
+        )
+  )
+
+-- PrefixExp ---------------------------------------------------
+-- cata
+sem_PrefixExp
+  :: PrefixExp
+  -> T_PrefixExp
+sem_PrefixExp (PFVar _name _suffixes) =
+  (sem_PrefixExp_PFVar (sem_MToken _name) (sem_ExprSuffixList _suffixes))
+sem_PrefixExp (ExprVar _expr _suffixes) =
+  (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))
+
+-- semantic domain
+type T_PrefixExp = (PrefixExp, Bool, Region, (Maybe MToken), T_PrefixExp_1)
+type T_PrefixExp_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Bool
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> Bool
+  -> (Maybe MToken)
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, (Maybe MToken), ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_PrefixExp = Inh_PrefixExp {config_Inh_PrefixExp :: LintSettings, funcName_Inh_PrefixExp :: String, globalDefinitions_Inh_PrefixExp :: (M.Map String [Region]), inParentheses_Inh_PrefixExp :: Bool, isInModule_Inh_PrefixExp :: Bool, isMeta_Inh_PrefixExp :: Bool, isNegation_Inh_PrefixExp :: Bool, loopLevel_Inh_PrefixExp :: Int, mtokenPos_Inh_PrefixExp :: Region, registerVarUse_Inh_PrefixExp :: Bool, scopeLevel_Inh_PrefixExp :: Int, scopes_Inh_PrefixExp :: ([M.Map String (Bool, Region)]), topLevel_Inh_PrefixExp :: Bool, varBeingDefined_Inh_PrefixExp :: (Maybe MToken), variableStyle_Inh_PrefixExp :: DeterminedVariableStyle}
+data Syn_PrefixExp = Syn_PrefixExp {copy_Syn_PrefixExp :: PrefixExp, globalDefinitions_Syn_PrefixExp :: (M.Map String [Region]), hasSuffixes_Syn_PrefixExp :: Bool, identifier_Syn_PrefixExp :: String, isInModule_Syn_PrefixExp :: Bool, isSimpleExpression_Syn_PrefixExp :: Bool, isSingleVar_Syn_PrefixExp :: (Maybe MToken), mtokenPos_Syn_PrefixExp :: Region, scopes_Syn_PrefixExp :: ([M.Map String (Bool, Region)]), varName_Syn_PrefixExp :: (Maybe MToken), variableStyle_Syn_PrefixExp :: DeterminedVariableStyle, warnings_Syn_PrefixExp :: ([String -> LintMessage])}
+wrap_PrefixExp
+  :: T_PrefixExp
+  -> Inh_PrefixExp
+  -> Syn_PrefixExp
+wrap_PrefixExp sem (Inh_PrefixExp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, _lhsOhasSuffixes, _lhsOmtokenPos, _lhsOvarName, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle
+    in
+      (Syn_PrefixExp _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvarName _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_PrefixExp_PFVar
+  :: T_MToken
+  -> T_ExprSuffixList
+  -> T_PrefixExp
+sem_PrefixExp_PFVar name_ suffixes_ =
+  ( case (suffixes_) of
+      (_suffixesIcopy, suffixes_1) ->
+        ( case (name_) of
+            (_nameIcopy, _nameImtok, _nameImtokenPos, name_1) ->
+              ( case ( ( PFVar _nameIcopy _suffixesIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( not . null $ _suffixesIcopy
+                                   )
+                                 ) of
+                              _lhsOhasSuffixes ->
+                                ( case ( ( _nameImtokenPos
+                                         )
+                                       ) of
+                                    _lhsOmtokenPos ->
+                                      ( case ( ( Just _nameIcopy
+                                               )
+                                             ) of
+                                          _varName ->
+                                            ( case ( ( _varName
+                                                     )
+                                                   ) of
+                                                _lhsOvarName ->
+                                                  ( case ( ( let
+                                                              sem_PrefixExp_PFVar_1 :: T_PrefixExp_1
+                                                              sem_PrefixExp_PFVar_1 =
+                                                                ( \_lhsIconfig
+                                                                   _lhsIfuncName
+                                                                   _lhsIglobalDefinitions
+                                                                   _lhsIinParentheses
+                                                                   _lhsIisInModule
+                                                                   _lhsIisMeta
+                                                                   _lhsIisNegation
+                                                                   _lhsIloopLevel
+                                                                   _lhsImtokenPos
+                                                                   _lhsIregisterVarUse
+                                                                   _lhsIscopeLevel
+                                                                   _lhsIscopes
+                                                                   _lhsItopLevel
+                                                                   _lhsIvarBeingDefined
+                                                                   _lhsIvariableStyle ->
+                                                                      ( case ( ( if isJust _lhsIvarBeingDefined && _lhsIvarBeingDefined == _varName
+                                                                                  then case _lhsIscopes of
+                                                                                    deepestScope : otherScopes -> deepestScope : registerVariable otherScopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse
+                                                                                    noScopes -> noScopes
+                                                                                  else registerVariable _lhsIscopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse
+                                                                               )
+                                                                             ) of
+                                                                          _foundVars ->
+                                                                            ( case ( ( _foundVars
+                                                                                     )
+                                                                                   ) of
+                                                                                _nameOscopes ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _nameOmtokenPos ->
+                                                                                        ( case ( ( _lhsIisMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _nameOisMeta ->
+                                                                                              ( case ( ( _lhsIisInModule
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _nameOisInModule ->
+                                                                                                    ( case ( ( _lhsIglobalDefinitions
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _nameOglobalDefinitions ->
+                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _nameOfuncName ->
+                                                                                                                ( case ( ( _lhsIconfig
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _nameOconfig ->
+                                                                                                                      ( case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOmtokenPos _nameOscopes) of
+                                                                                                                          (_nameIglobalDefinitions, _nameIidentifier, _nameIisInModule, _nameIscopes, _nameIwarnings) ->
+                                                                                                                            ( case ( ( _nameIscopes
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _suffixesOscopes ->
+                                                                                                                                  ( case ( ( _lhsIisMeta
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _suffixesOisMeta ->
+                                                                                                                                        ( case ( ( _nameIisInModule
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _suffixesOisInModule ->
+                                                                                                                                              ( case ( ( _nameIglobalDefinitions
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _suffixesOglobalDefinitions ->
+                                                                                                                                                    ( case ( ( _lhsIconfig
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _suffixesOconfig ->
+                                                                                                                                                          ( case ( ( _lhsIvariableStyle
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _suffixesOvariableStyle ->
+                                                                                                                                                                ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _suffixesOscopeLevel ->
+                                                                                                                                                                      ( case ( ( _nameImtokenPos
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _suffixesOmtokenPos ->
+                                                                                                                                                                            ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _suffixesOloopLevel ->
+                                                                                                                                                                                  ( case ( ( _lhsIfuncName
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _suffixesOfuncName ->
+                                                                                                                                                                                        ( case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of
+                                                                                                                                                                                            (_suffixesIglobalDefinitions, _suffixesIidentifier, _suffixesIisInModule, _suffixesIisSimpleExpression, _suffixesImtokenPos, _suffixesIscopes, _suffixesIvariableStyle, _suffixesIwarnings) ->
+                                                                                                                                                                                              ( case ( ( _suffixesIglobalDefinitions
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOglobalDefinitions ->
+                                                                                                                                                                                                    ( case ( ( (const _nameIidentifier _suffixesIidentifier)
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOidentifier ->
+                                                                                                                                                                                                          ( case ( ( _suffixesIisInModule
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOisInModule ->
+                                                                                                                                                                                                                ( case ( ( _suffixesIisSimpleExpression
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOisSimpleExpression ->
+                                                                                                                                                                                                                      ( case ( ( if null _suffixesIcopy then _varName else Nothing
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOisSingleVar ->
+                                                                                                                                                                                                                            ( case ( ( _suffixesIscopes
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOscopes ->
+                                                                                                                                                                                                                                  ( case ( ( _suffixesIvariableStyle
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                                                                                                                        ( case ( ( _nameIwarnings ++ _suffixesIwarnings
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _warnings_augmented_syn ->
+                                                                                                                                                                                                                                              ( case ( ( tokenLabel _nameIcopy
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _name ->
+                                                                                                                                                                                                                                                    ( case ( ( if not (lint_beginnerMistakes _lhsIconfig) || _lhsIisMeta || _name /= "self"
+                                                                                                                                                                                                                                                                then id
+                                                                                                                                                                                                                                                                else (:) $ warn _nameImtokenPos SelfInNonMeta
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _warnings_augmented_f3 ->
+                                                                                                                                                                                                                                                          ( case ( ( if not (lint_beginnerMistakes _lhsIconfig)
+                                                                                                                                                                                                                                                                      || not _lhsIisMeta
+                                                                                                                                                                                                                                                                      || _name /= "self"
+                                                                                                                                                                                                                                                                      || _lhsIfuncName /= "ENT"
+                                                                                                                                                                                                                                                                      || _suffixesIidentifier /= "Entity"
+                                                                                                                                                                                                                                                                      then id
+                                                                                                                                                                                                                                                                      else (:) $ warn _nameImtokenPos SelfEntity
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                                ( case ( ( if not (lint_beginnerMistakes _lhsIconfig)
+                                                                                                                                                                                                                                                                            || not _lhsIisMeta
+                                                                                                                                                                                                                                                                            || _name /= "self"
+                                                                                                                                                                                                                                                                            || _lhsIfuncName /= "SWEP"
+                                                                                                                                                                                                                                                                            || _suffixesIidentifier /= "Weapon"
+                                                                                                                                                                                                                                                                            then id
+                                                                                                                                                                                                                                                                            else (:) $ warn _nameImtokenPos SelfWeapon
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2, _warnings_augmented_f3]
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                             in
+                                                              sem_PrefixExp_PFVar_1
+                                                           )
+                                                         ) of
+                                                      (sem_PrefixExp_1) ->
+                                                        (_lhsOcopy, _lhsOhasSuffixes, _lhsOmtokenPos, _lhsOvarName, sem_PrefixExp_1)
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_PrefixExp_ExprVar
+  :: T_MExpr
+  -> T_ExprSuffixList
+  -> T_PrefixExp
+sem_PrefixExp_ExprVar expr_ suffixes_ =
+  ( case (suffixes_) of
+      (_suffixesIcopy, suffixes_1) ->
+        ( case (expr_) of
+            (_exprIcopy, _exprImtokenPos, expr_1) ->
+              ( case ( ( ExprVar _exprIcopy _suffixesIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( False
+                                   )
+                                 ) of
+                              _lhsOhasSuffixes ->
+                                ( case ( ( _exprImtokenPos
+                                         )
+                                       ) of
+                                    _lhsOmtokenPos ->
+                                      ( case ( ( Nothing
+                                               )
+                                             ) of
+                                          _lhsOvarName ->
+                                            ( case ( ( let
+                                                        sem_PrefixExp_ExprVar_1 :: T_PrefixExp_1
+                                                        sem_PrefixExp_ExprVar_1 =
+                                                          ( \_lhsIconfig
+                                                             _lhsIfuncName
+                                                             _lhsIglobalDefinitions
+                                                             _lhsIinParentheses
+                                                             _lhsIisInModule
+                                                             _lhsIisMeta
+                                                             _lhsIisNegation
+                                                             _lhsIloopLevel
+                                                             _lhsImtokenPos
+                                                             _lhsIregisterVarUse
+                                                             _lhsIscopeLevel
+                                                             _lhsIscopes
+                                                             _lhsItopLevel
+                                                             _lhsIvarBeingDefined
+                                                             _lhsIvariableStyle ->
+                                                                ( case ( ( _lhsIvarBeingDefined
+                                                                         )
+                                                                       ) of
+                                                                    _exprOvarBeingDefined ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _exprOscopes ->
+                                                                            ( case ( ( _lhsIisMeta
+                                                                                     )
+                                                                                   ) of
+                                                                                _exprOisMeta ->
+                                                                                  ( case ( ( _lhsIconfig
+                                                                                           )
+                                                                                         ) of
+                                                                                      _exprOconfig ->
+                                                                                        ( case ( ( _lhsIvariableStyle
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _exprOvariableStyle ->
+                                                                                              ( case ( ( _lhsIscopeLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _exprOscopeLevel ->
+                                                                                                    ( case ( ( _lhsImtokenPos
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _exprOmtokenPos ->
+                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _exprOloopLevel ->
+                                                                                                                ( case ( ( _lhsIisNegation
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _exprOisNegation ->
+                                                                                                                      ( case ( ( _lhsIisInModule
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _exprOisInModule ->
+                                                                                                                            ( case ( ( _lhsIglobalDefinitions
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _exprOglobalDefinitions ->
+                                                                                                                                  ( case ( ( _lhsIfuncName
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _exprOfuncName ->
+                                                                                                                                        ( case ( ( True
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _exprOtopLevel ->
+                                                                                                                                              ( case ( ( True
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _exprOinParentheses ->
+                                                                                                                                                    ( case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of
+                                                                                                                                                        (_exprIglobalDefinitions, _exprIidentifier, _exprIisInModule, _exprIisSimpleExpression, _exprIisSingleVar, _exprIscopes, _exprIvariableStyle, _exprIwarnings) ->
+                                                                                                                                                          ( case ( ( _exprIscopes
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _suffixesOscopes ->
+                                                                                                                                                                ( case ( ( _lhsIisMeta
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _suffixesOisMeta ->
+                                                                                                                                                                      ( case ( ( _exprIisInModule
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _suffixesOisInModule ->
+                                                                                                                                                                            ( case ( ( _exprIglobalDefinitions
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _suffixesOglobalDefinitions ->
+                                                                                                                                                                                  ( case ( ( _lhsIconfig
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _suffixesOconfig ->
+                                                                                                                                                                                        ( case ( ( _exprIvariableStyle
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _suffixesOvariableStyle ->
+                                                                                                                                                                                              ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _suffixesOscopeLevel ->
+                                                                                                                                                                                                    ( case ( ( _exprImtokenPos
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _suffixesOmtokenPos ->
+                                                                                                                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _suffixesOloopLevel ->
+                                                                                                                                                                                                                ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _suffixesOfuncName ->
+                                                                                                                                                                                                                      ( case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of
+                                                                                                                                                                                                                          (_suffixesIglobalDefinitions, _suffixesIidentifier, _suffixesIisInModule, _suffixesIisSimpleExpression, _suffixesImtokenPos, _suffixesIscopes, _suffixesIvariableStyle, _suffixesIwarnings) ->
+                                                                                                                                                                                                                            ( case ( ( _suffixesIglobalDefinitions
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                  ( case ( ( (const _exprIidentifier _suffixesIidentifier)
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOidentifier ->
+                                                                                                                                                                                                                                        ( case ( ( _suffixesIisInModule
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOisInModule ->
+                                                                                                                                                                                                                                              ( case ( ( _exprIisSimpleExpression && _suffixesIisSimpleExpression
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOisSimpleExpression ->
+                                                                                                                                                                                                                                                    ( case ( ( Nothing
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOisSingleVar ->
+                                                                                                                                                                                                                                                          ( case ( ( _suffixesIscopes
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _lhsOscopes ->
+                                                                                                                                                                                                                                                                ( case ( ( _suffixesIvariableStyle
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                      ( case ( ( _exprIwarnings ++ _suffixesIwarnings
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                            ( case ( ( if lint_redundantParentheses _lhsIconfig && null _suffixesIcopy && (_lhsIinParentheses || (not _lhsItopLevel && _exprIisSimpleExpression))
+                                                                                                                                                                                                                                                                                        then (:) $ warn _lhsImtokenPos UnnecessaryParentheses
+                                                                                                                                                                                                                                                                                        else id
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                  ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                       in
+                                                        sem_PrefixExp_ExprVar_1
+                                                     )
+                                                   ) of
+                                                (sem_PrefixExp_1) ->
+                                                  (_lhsOcopy, _lhsOhasSuffixes, _lhsOmtokenPos, _lhsOvarName, sem_PrefixExp_1)
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- Region ------------------------------------------------------
+-- cata
+sem_Region
+  :: Region
+  -> T_Region
+sem_Region (Region _start _end) =
+  (sem_Region_Region _start _end)
+
+-- semantic domain
+type T_Region = (Region, String, ([String -> LintMessage]))
+data Inh_Region = Inh_Region {}
+data Syn_Region = Syn_Region {copy_Syn_Region :: Region, identifier_Syn_Region :: String, warnings_Syn_Region :: ([String -> LintMessage])}
+wrap_Region
+  :: T_Region
+  -> Inh_Region
+  -> Syn_Region
+wrap_Region sem (Inh_Region) =
+  ( let
+      (_lhsOcopy, _lhsOidentifier, _lhsOwarnings) = sem
+    in
+      (Syn_Region _lhsOcopy _lhsOidentifier _lhsOwarnings)
+  )
+sem_Region_Region
+  :: LineColPos
+  -> LineColPos
+  -> T_Region
+sem_Region_Region start_ end_ =
+  ( case ( ( Region start_ end_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+
+-- Stat --------------------------------------------------------
+-- cata
+sem_Stat
+  :: Stat
+  -> T_Stat
+sem_Stat (Def _vars) =
+  (sem_Stat_Def (sem_VarsList _vars))
+sem_Stat (LocDef _vars) =
+  (sem_Stat_LocDef (sem_VarsList _vars))
+sem_Stat (AFuncCall _fn) =
+  (sem_Stat_AFuncCall (sem_PrefixExp _fn))
+sem_Stat (ALabel _lbl) =
+  (sem_Stat_ALabel (sem_MToken _lbl))
+sem_Stat (ABreak) =
+  (sem_Stat_ABreak)
+sem_Stat (AContinue) =
+  (sem_Stat_AContinue)
+sem_Stat (AGoto _lbl) =
+  (sem_Stat_AGoto (sem_MToken _lbl))
+sem_Stat (ADo _body) =
+  (sem_Stat_ADo (sem_Block _body))
+sem_Stat (AWhile _cond _body) =
+  (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))
+sem_Stat (ARepeat _body _cond) =
+  (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))
+sem_Stat (AIf _cond _body _elifs _els) =
+  (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))
+sem_Stat (ANFor _var _val _to _step _body) =
+  (sem_Stat_ANFor (sem_MToken _var) (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))
+sem_Stat (AGFor _vars _vals _body) =
+  (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))
+sem_Stat (AFunc _name _args _body) =
+  (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))
+sem_Stat (ALocFunc _name _args _body) =
+  (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))
+
+-- semantic domain
+type T_Stat = (Stat, T_Stat_1)
+type T_Stat_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_Stat = Inh_Stat {config_Inh_Stat :: LintSettings, funcName_Inh_Stat :: String, globalDefinitions_Inh_Stat :: (M.Map String [Region]), isInModule_Inh_Stat :: Bool, isMeta_Inh_Stat :: Bool, loopLevel_Inh_Stat :: Int, mtokenPos_Inh_Stat :: Region, scopeLevel_Inh_Stat :: Int, scopes_Inh_Stat :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Stat :: DeterminedVariableStyle}
+data Syn_Stat = Syn_Stat {copy_Syn_Stat :: Stat, globalDefinitions_Syn_Stat :: (M.Map String [Region]), identifier_Syn_Stat :: String, isIfStatement_Syn_Stat :: Bool, isInModule_Syn_Stat :: Bool, mtokenPos_Syn_Stat :: Region, scopes_Syn_Stat :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Stat :: DeterminedVariableStyle, warnings_Syn_Stat :: ([String -> LintMessage])}
+wrap_Stat
+  :: T_Stat
+  -> Inh_Stat
+  -> Syn_Stat
+wrap_Stat sem (Inh_Stat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_Stat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_Stat_Def
+  :: T_VarsList
+  -> T_Stat
+sem_Stat_Def vars_ =
+  ( case (vars_) of
+      (_varsIcopy, vars_1) ->
+        ( case ( ( Def _varsIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Stat_Def_1 :: T_Stat_1
+                                sem_Stat_Def_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _varsOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _varsOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _varsOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _varsOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _varsOconfig ->
+                                                                      ( case ( ( False
+                                                                               )
+                                                                             ) of
+                                                                          _varsOlocalDefinition ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _varsOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _varsOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _varsOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _varsOloopLevel ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _varsOfuncName ->
+                                                                                                          ( case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of
+                                                                                                              (_varsIglobalDefinitions, _varsIidentifier, _varsIisInModule, _varsImtokenPos, _varsIscopes, _varsIvariableStyle, _varsIwarnings) ->
+                                                                                                                ( case ( ( _varsIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _varsIidentifier
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                  ( case ( ( _varsIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                        ( case ( ( _varsImtokenPos
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                              ( case ( ( _varsIscopes
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                    ( case ( ( _varsIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                          ( case ( ( _varsIwarnings
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOwarnings ->
+                                                                                                                                                                (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Stat_Def_1
+                             )
+                           ) of
+                        (sem_Stat_1) ->
+                          (_lhsOcopy, sem_Stat_1)
+                    )
+              )
+        )
+  )
+sem_Stat_LocDef
+  :: T_VarsList
+  -> T_Stat
+sem_Stat_LocDef vars_ =
+  ( case (vars_) of
+      (_varsIcopy, vars_1) ->
+        ( case ( ( LocDef _varsIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Stat_LocDef_1 :: T_Stat_1
+                                sem_Stat_LocDef_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _varsOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _varsOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _varsOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _varsOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _varsOconfig ->
+                                                                      ( case ( ( True
+                                                                               )
+                                                                             ) of
+                                                                          _varsOlocalDefinition ->
+                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                     )
+                                                                                   ) of
+                                                                                _varsOvariableStyle ->
+                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _varsOscopeLevel ->
+                                                                                        ( case ( ( _lhsImtokenPos
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _varsOmtokenPos ->
+                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _varsOloopLevel ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _varsOfuncName ->
+                                                                                                          ( case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of
+                                                                                                              (_varsIglobalDefinitions, _varsIidentifier, _varsIisInModule, _varsImtokenPos, _varsIscopes, _varsIvariableStyle, _varsIwarnings) ->
+                                                                                                                ( case ( ( _varsIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _varsIidentifier
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                  ( case ( ( _varsIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                        ( case ( ( _varsImtokenPos
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                              ( case ( ( _varsIscopes
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                    ( case ( ( _varsIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                          ( case ( ( _varsIwarnings
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _lhsOwarnings ->
+                                                                                                                                                                (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Stat_LocDef_1
+                             )
+                           ) of
+                        (sem_Stat_1) ->
+                          (_lhsOcopy, sem_Stat_1)
+                    )
+              )
+        )
+  )
+sem_Stat_AFuncCall
+  :: T_PrefixExp
+  -> T_Stat
+sem_Stat_AFuncCall fn_ =
+  ( case (fn_) of
+      (_fnIcopy, _fnIhasSuffixes, _fnImtokenPos, _fnIvarName, fn_1) ->
+        ( case ( ( AFuncCall _fnIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Stat_AFuncCall_1 :: T_Stat_1
+                                sem_Stat_AFuncCall_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIscopes
+                                                 )
+                                               ) of
+                                            _fnOscopes ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _fnOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _fnOisInModule ->
+                                                          ( case ( ( _lhsIglobalDefinitions
+                                                                   )
+                                                                 ) of
+                                                              _fnOglobalDefinitions ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _fnOconfig ->
+                                                                      ( case ( ( Nothing
+                                                                               )
+                                                                             ) of
+                                                                          _fnOvarBeingDefined ->
+                                                                            ( case ( ( True
+                                                                                     )
+                                                                                   ) of
+                                                                                _fnOregisterVarUse ->
+                                                                                  ( case ( ( _lhsIvariableStyle
+                                                                                           )
+                                                                                         ) of
+                                                                                      _fnOvariableStyle ->
+                                                                                        ( case ( ( _lhsIscopeLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _fnOscopeLevel ->
+                                                                                              ( case ( ( _lhsImtokenPos
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _fnOmtokenPos ->
+                                                                                                    ( case ( ( _lhsIloopLevel
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _fnOloopLevel ->
+                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _fnOfuncName ->
+                                                                                                                ( case ( ( True
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _fnOtopLevel ->
+                                                                                                                      ( case ( ( False
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _fnOinParentheses ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _fnOisNegation ->
+                                                                                                                                  ( case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOinParentheses _fnOisInModule _fnOisMeta _fnOisNegation _fnOloopLevel _fnOmtokenPos _fnOregisterVarUse _fnOscopeLevel _fnOscopes _fnOtopLevel _fnOvarBeingDefined _fnOvariableStyle) of
+                                                                                                                                      (_fnIglobalDefinitions, _fnIidentifier, _fnIisInModule, _fnIisSimpleExpression, _fnIisSingleVar, _fnIscopes, _fnIvariableStyle, _fnIwarnings) ->
+                                                                                                                                        ( case ( ( _fnIglobalDefinitions
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOglobalDefinitions ->
+                                                                                                                                              ( case ( ( _fnIidentifier
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOidentifier ->
+                                                                                                                                                    ( case ( ( False
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOisIfStatement ->
+                                                                                                                                                          ( case ( ( (tokenLabel <$> _fnIvarName) == Just "module"
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _isModuleCall ->
+                                                                                                                                                                ( case ( ( _lhsIisInModule || _isModuleCall
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _lhsOisInModule ->
+                                                                                                                                                                      ( case ( ( _fnImtokenPos
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOmtokenPos ->
+                                                                                                                                                                            ( case ( ( _fnIscopes
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _lhsOscopes ->
+                                                                                                                                                                                  ( case ( ( _fnIvariableStyle
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _lhsOvariableStyle ->
+                                                                                                                                                                                        ( case ( ( _fnIwarnings
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Stat_AFuncCall_1
+                             )
+                           ) of
+                        (sem_Stat_1) ->
+                          (_lhsOcopy, sem_Stat_1)
+                    )
+              )
+        )
+  )
+sem_Stat_ALabel
+  :: T_MToken
+  -> T_Stat
+sem_Stat_ALabel lbl_ =
+  ( case (lbl_) of
+      (_lblIcopy, _lblImtok, _lblImtokenPos, lbl_1) ->
+        ( case ( ( ALabel _lblIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Stat_ALabel_1 :: T_Stat_1
+                                sem_Stat_ALabel_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _lblOglobalDefinitions ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _lblOscopes ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lblOmtokenPos ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _lblOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _lblOisInModule ->
+                                                                      ( case ( ( _lhsIfuncName
+                                                                               )
+                                                                             ) of
+                                                                          _lblOfuncName ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _lblOconfig ->
+                                                                                  ( case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of
+                                                                                      (_lblIglobalDefinitions, _lblIidentifier, _lblIisInModule, _lblIscopes, _lblIwarnings) ->
+                                                                                        ( case ( ( _lblIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _lhsOglobalDefinitions ->
+                                                                                              ( case ( ( _lblIidentifier
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _lhsOidentifier ->
+                                                                                                    ( case ( ( False
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _lhsOisIfStatement ->
+                                                                                                          ( case ( ( _lblIisInModule
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _lhsOisInModule ->
+                                                                                                                ( case ( ( _lblImtokenPos
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOmtokenPos ->
+                                                                                                                      ( case ( ( _lblIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOscopes ->
+                                                                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOvariableStyle ->
+                                                                                                                                  ( case ( ( _lblIwarnings
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOwarnings ->
+                                                                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Stat_ALabel_1
+                             )
+                           ) of
+                        (sem_Stat_1) ->
+                          (_lhsOcopy, sem_Stat_1)
+                    )
+              )
+        )
+  )
+sem_Stat_ABreak :: T_Stat
+sem_Stat_ABreak =
+  ( case ( ( ABreak
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Stat_ABreak_1 :: T_Stat_1
+                          sem_Stat_ABreak_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( False
+                                                       )
+                                                     ) of
+                                                  _lhsOisIfStatement ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _lhsOisInModule ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Stat_ABreak_1
+                       )
+                     ) of
+                  (sem_Stat_1) ->
+                    (_lhsOcopy, sem_Stat_1)
+              )
+        )
+  )
+sem_Stat_AContinue :: T_Stat
+sem_Stat_AContinue =
+  ( case ( ( AContinue
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_Stat_AContinue_1 :: T_Stat_1
+                          sem_Stat_AContinue_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( False
+                                                       )
+                                                     ) of
+                                                  _lhsOisIfStatement ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _lhsOisInModule ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_Stat_AContinue_1
+                       )
+                     ) of
+                  (sem_Stat_1) ->
+                    (_lhsOcopy, sem_Stat_1)
+              )
+        )
+  )
+sem_Stat_AGoto
+  :: T_MToken
+  -> T_Stat
+sem_Stat_AGoto lbl_ =
+  ( case (lbl_) of
+      (_lblIcopy, _lblImtok, _lblImtokenPos, lbl_1) ->
+        ( case ( ( AGoto _lblIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Stat_AGoto_1 :: T_Stat_1
+                                sem_Stat_AGoto_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIglobalDefinitions
+                                                 )
+                                               ) of
+                                            _lblOglobalDefinitions ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _lblOscopes ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lblOmtokenPos ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _lblOisMeta ->
+                                                                ( case ( ( _lhsIisInModule
+                                                                         )
+                                                                       ) of
+                                                                    _lblOisInModule ->
+                                                                      ( case ( ( _lhsIfuncName
+                                                                               )
+                                                                             ) of
+                                                                          _lblOfuncName ->
+                                                                            ( case ( ( _lhsIconfig
+                                                                                     )
+                                                                                   ) of
+                                                                                _lblOconfig ->
+                                                                                  ( case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of
+                                                                                      (_lblIglobalDefinitions, _lblIidentifier, _lblIisInModule, _lblIscopes, _lblIwarnings) ->
+                                                                                        ( case ( ( _lblIglobalDefinitions
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _lhsOglobalDefinitions ->
+                                                                                              ( case ( ( _lblIidentifier
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _lhsOidentifier ->
+                                                                                                    ( case ( ( False
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _lhsOisIfStatement ->
+                                                                                                          ( case ( ( _lblIisInModule
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _lhsOisInModule ->
+                                                                                                                ( case ( ( _lblImtokenPos
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOmtokenPos ->
+                                                                                                                      ( case ( ( _lblIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOscopes ->
+                                                                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOvariableStyle ->
+                                                                                                                                  ( case ( ( _lblIwarnings
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _warnings_augmented_syn ->
+                                                                                                                                        ( case ( ( if not (lint_gotos _lhsIconfig) || _lhsIloopLevel >= 2
+                                                                                                                                                    then id
+                                                                                                                                                    else (:) $ warn _lblImtokenPos AvoidGoto
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _warnings_augmented_f1 ->
+                                                                                                                                              ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOwarnings ->
+                                                                                                                                                    (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Stat_AGoto_1
+                             )
+                           ) of
+                        (sem_Stat_1) ->
+                          (_lhsOcopy, sem_Stat_1)
+                    )
+              )
+        )
+  )
+sem_Stat_ADo
+  :: T_Block
+  -> T_Stat
+sem_Stat_ADo body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case ( ( ADo _bodyIcopy
+                 )
+               ) of
+            _copy ->
+              ( case ( ( _copy
+                       )
+                     ) of
+                  _lhsOcopy ->
+                    ( case ( ( let
+                                sem_Stat_ADo_1 :: T_Stat_1
+                                sem_Stat_ADo_1 =
+                                  ( \_lhsIconfig
+                                     _lhsIfuncName
+                                     _lhsIglobalDefinitions
+                                     _lhsIisInModule
+                                     _lhsIisMeta
+                                     _lhsIloopLevel
+                                     _lhsImtokenPos
+                                     _lhsIscopeLevel
+                                     _lhsIscopes
+                                     _lhsIvariableStyle ->
+                                        ( case ( ( _lhsIisMeta
+                                                 )
+                                               ) of
+                                            _bodyOisMeta ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _bodyOisInModule ->
+                                                    ( case ( ( _lhsIglobalDefinitions
+                                                             )
+                                                           ) of
+                                                        _bodyOglobalDefinitions ->
+                                                          ( case ( ( _lhsIconfig
+                                                                   )
+                                                                 ) of
+                                                              _bodyOconfig ->
+                                                                ( case ( ( M.empty : _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _bodyOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _bodyOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _bodyOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _bodyOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _bodyOloopLevel ->
+                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _bodyOfuncName ->
+                                                                                                    ( case ( ( False
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _bodyOisRepeat ->
+                                                                                                          ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                              (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                ( case ( ( _bodyIglobalDefinitions
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                      ( case ( ( _bodyIidentifier
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _lhsOidentifier ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                  ( case ( ( _bodyIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                        ( case ( ( _bodyImtokenPos
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                              ( case ( ( _bodyIscopes
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                    ( case ( ( _bodyIvariableStyle
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                          ( case ( ( _bodyIwarnings
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _warnings_augmented_syn ->
+                                                                                                                                                                ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0
+                                                                                                                                                                            then id
+                                                                                                                                                                            else (:) $ warn _lhsImtokenPos EmptyDoBlock
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                               in
+                                sem_Stat_ADo_1
+                             )
+                           ) of
+                        (sem_Stat_1) ->
+                          (_lhsOcopy, sem_Stat_1)
+                    )
+              )
+        )
+  )
+sem_Stat_AWhile
+  :: T_MExpr
+  -> T_Block
+  -> T_Stat
+sem_Stat_AWhile cond_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case (cond_) of
+            (_condIcopy, _condImtokenPos, cond_1) ->
+              ( case ( ( AWhile _condIcopy _bodyIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Stat_AWhile_1 :: T_Stat_1
+                                      sem_Stat_AWhile_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _bodyOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _condOisInModule ->
+                                                          ( case ( ( _lhsIvariableStyle
+                                                                   )
+                                                                 ) of
+                                                              _condOvariableStyle ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _condOscopes ->
+                                                                      ( case ( ( _lhsIscopeLevel
+                                                                               )
+                                                                             ) of
+                                                                          _condOscopeLevel ->
+                                                                            ( case ( ( _lhsImtokenPos
+                                                                                     )
+                                                                                   ) of
+                                                                                _condOmtokenPos ->
+                                                                                  ( case ( ( _lhsIloopLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _condOloopLevel ->
+                                                                                        ( case ( ( _lhsIisMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _condOisMeta ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _condOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _condOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _condOconfig ->
+                                                                                                                ( case ( ( Nothing
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _condOvarBeingDefined ->
+                                                                                                                      ( case ( ( True
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _condOtopLevel ->
+                                                                                                                            ( case ( ( False
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _condOinParentheses ->
+                                                                                                                                  ( case ( ( False
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _condOisNegation ->
+                                                                                                                                        ( case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of
+                                                                                                                                            (_condIglobalDefinitions, _condIidentifier, _condIisInModule, _condIisSimpleExpression, _condIisSingleVar, _condIscopes, _condIvariableStyle, _condIwarnings) ->
+                                                                                                                                              ( case ( ( _condIisInModule
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _bodyOisInModule ->
+                                                                                                                                                    ( case ( ( _condIglobalDefinitions
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _bodyOglobalDefinitions ->
+                                                                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _bodyOconfig ->
+                                                                                                                                                                ( case ( ( M.empty : _condIscopes
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _bodyOscopes ->
+                                                                                                                                                                      ( case ( ( _condIvariableStyle
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _bodyOvariableStyle ->
+                                                                                                                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _bodyOscopeLevel ->
+                                                                                                                                                                                  ( case ( ( _condImtokenPos
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _bodyOmtokenPos ->
+                                                                                                                                                                                        ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _bodyOfuncName ->
+                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _bodyOisRepeat ->
+                                                                                                                                                                                                    ( case ( ( _lhsIloopLevel + 1
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _bodyOloopLevel ->
+                                                                                                                                                                                                          ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                                                                                                              (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                      ( case ( ( (const _condIidentifier _bodyIidentifier)
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                            ( case ( ( False
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                                                                                                                  ( case ( ( _bodyIisInModule
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                                                                                                                        ( case ( ( _bodyImtokenPos
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                              ( case ( ( _bodyIscopes
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                    ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _condIwarnings ++ _bodyIwarnings
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0
+                                                                                                                                                                                                                                                                            then id
+                                                                                                                                                                                                                                                                            else (:) $ warn _lhsImtokenPos EmptyWhileLoop
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Stat_AWhile_1
+                                   )
+                                 ) of
+                              (sem_Stat_1) ->
+                                (_lhsOcopy, sem_Stat_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_Stat_ARepeat
+  :: T_Block
+  -> T_MExpr
+  -> T_Stat
+sem_Stat_ARepeat body_ cond_ =
+  ( case (cond_) of
+      (_condIcopy, _condImtokenPos, cond_1) ->
+        ( case (body_) of
+            (_bodyIcopy, body_1) ->
+              ( case ( ( ARepeat _bodyIcopy _condIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Stat_ARepeat_1 :: T_Stat_1
+                                      sem_Stat_ARepeat_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _bodyOisMeta ->
+                                                    ( case ( ( _lhsIconfig
+                                                             )
+                                                           ) of
+                                                        _bodyOconfig ->
+                                                          ( case ( ( M.empty : _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _bodyOscopes ->
+                                                                ( case ( ( True
+                                                                         )
+                                                                       ) of
+                                                                    _bodyOisRepeat ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _bodyOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _bodyOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _bodyOmtokenPos ->
+                                                                                        ( case ( ( _lhsIisInModule
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _bodyOisInModule ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _bodyOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _bodyOfuncName ->
+                                                                                                          ( case ( ( _lhsIloopLevel + 1
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _bodyOloopLevel ->
+                                                                                                                ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                    (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                      ( case ( ( _bodyIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _condOscopes ->
+                                                                                                                            ( case ( ( _lhsIisMeta
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _condOisMeta ->
+                                                                                                                                  ( case ( ( _bodyIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _condOisInModule ->
+                                                                                                                                        ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _condOglobalDefinitions ->
+                                                                                                                                              ( case ( ( _lhsIconfig
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _condOconfig ->
+                                                                                                                                                    ( case ( ( Nothing
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _condOvarBeingDefined ->
+                                                                                                                                                          ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _condOvariableStyle ->
+                                                                                                                                                                ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _condOscopeLevel ->
+                                                                                                                                                                      ( case ( ( _bodyImtokenPos
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _condOmtokenPos ->
+                                                                                                                                                                            ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _condOloopLevel ->
+                                                                                                                                                                                  ( case ( ( _lhsIfuncName
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _condOfuncName ->
+                                                                                                                                                                                        ( case ( ( True
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _condOtopLevel ->
+                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _condOinParentheses ->
+                                                                                                                                                                                                    ( case ( ( False
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _condOisNegation ->
+                                                                                                                                                                                                          ( case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of
+                                                                                                                                                                                                              (_condIglobalDefinitions, _condIidentifier, _condIisInModule, _condIisSimpleExpression, _condIisSingleVar, _condIscopes, _condIvariableStyle, _condIwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _condIglobalDefinitions
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                      ( case ( ( (const _bodyIidentifier _condIidentifier)
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                            ( case ( ( False
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                                                                                                                  ( case ( ( _condIisInModule
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                                                                                                                        ( case ( ( _condImtokenPos
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                              ( case ( ( tail _condIscopes
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                    ( case ( ( _condIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _bodyIwarnings ++ _condIwarnings
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0
+                                                                                                                                                                                                                                                                            then id
+                                                                                                                                                                                                                                                                            else (:) $ warn _lhsImtokenPos EmptyRepeat
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Stat_ARepeat_1
+                                   )
+                                 ) of
+                              (sem_Stat_1) ->
+                                (_lhsOcopy, sem_Stat_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_Stat_AIf
+  :: T_MExpr
+  -> T_Block
+  -> T_ElseIfList
+  -> T_Else
+  -> T_Stat
+sem_Stat_AIf cond_ body_ elifs_ els_ =
+  ( case (els_) of
+      (_elsIcopy, els_1) ->
+        ( case (elifs_) of
+            (_elifsIcopy, elifs_1) ->
+              ( case (body_) of
+                  (_bodyIcopy, body_1) ->
+                    ( case (cond_) of
+                        (_condIcopy, _condImtokenPos, cond_1) ->
+                          ( case ( ( AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy
+                                   )
+                                 ) of
+                              _copy ->
+                                ( case ( ( _copy
+                                         )
+                                       ) of
+                                    _lhsOcopy ->
+                                      ( case ( ( let
+                                                  sem_Stat_AIf_1 :: T_Stat_1
+                                                  sem_Stat_AIf_1 =
+                                                    ( \_lhsIconfig
+                                                       _lhsIfuncName
+                                                       _lhsIglobalDefinitions
+                                                       _lhsIisInModule
+                                                       _lhsIisMeta
+                                                       _lhsIloopLevel
+                                                       _lhsImtokenPos
+                                                       _lhsIscopeLevel
+                                                       _lhsIscopes
+                                                       _lhsIvariableStyle ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _bodyOisMeta ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _bodyOconfig ->
+                                                                      ( case ( ( _lhsIscopes
+                                                                               )
+                                                                             ) of
+                                                                          _condOscopes ->
+                                                                            ( case ( ( _lhsIisMeta
+                                                                                     )
+                                                                                   ) of
+                                                                                _condOisMeta ->
+                                                                                  ( case ( ( _lhsIconfig
+                                                                                           )
+                                                                                         ) of
+                                                                                      _condOconfig ->
+                                                                                        ( case ( ( False
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _bodyOisRepeat ->
+                                                                                              ( case ( ( Nothing
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _condOvarBeingDefined ->
+                                                                                                    ( case ( ( _lhsIvariableStyle
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _condOvariableStyle ->
+                                                                                                          ( case ( ( _lhsIscopeLevel
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _condOscopeLevel ->
+                                                                                                                ( case ( ( _lhsImtokenPos
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _condOmtokenPos ->
+                                                                                                                      ( case ( ( _lhsIloopLevel
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _condOloopLevel ->
+                                                                                                                            ( case ( ( _lhsIisInModule
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _condOisInModule ->
+                                                                                                                                  ( case ( ( _lhsIglobalDefinitions
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _condOglobalDefinitions ->
+                                                                                                                                        ( case ( ( _lhsIfuncName
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _condOfuncName ->
+                                                                                                                                              ( case ( ( True
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _condOtopLevel ->
+                                                                                                                                                    ( case ( ( False
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _condOinParentheses ->
+                                                                                                                                                          ( case ( ( False
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _condOisNegation ->
+                                                                                                                                                                ( case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of
+                                                                                                                                                                    (_condIglobalDefinitions, _condIidentifier, _condIisInModule, _condIisSimpleExpression, _condIisSingleVar, _condIscopes, _condIvariableStyle, _condIwarnings) ->
+                                                                                                                                                                      ( case ( ( M.empty : _condIscopes
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _bodyOscopes ->
+                                                                                                                                                                            ( case ( ( _condIvariableStyle
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _bodyOvariableStyle ->
+                                                                                                                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _bodyOscopeLevel ->
+                                                                                                                                                                                        ( case ( ( _condImtokenPos
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _bodyOmtokenPos ->
+                                                                                                                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _bodyOloopLevel ->
+                                                                                                                                                                                                    ( case ( ( _condIisInModule
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _bodyOisInModule ->
+                                                                                                                                                                                                          ( case ( ( _condIglobalDefinitions
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _bodyOglobalDefinitions ->
+                                                                                                                                                                                                                ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _bodyOfuncName ->
+                                                                                                                                                                                                                      ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                                                                                                                          (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                                                                                                                            ( case ( ( _bodyIscopes
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _elifsOscopes ->
+                                                                                                                                                                                                                                  ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _elifsOisMeta ->
+                                                                                                                                                                                                                                        ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _elifsOconfig ->
+                                                                                                                                                                                                                                              ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _elifsOvariableStyle ->
+                                                                                                                                                                                                                                                    ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _elifsOscopeLevel ->
+                                                                                                                                                                                                                                                          ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _elifsOloopLevel ->
+                                                                                                                                                                                                                                                                ( case ( ( _bodyIisInModule
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _elifsOisInModule ->
+                                                                                                                                                                                                                                                                      ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _elifsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                            ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _elifsOfuncName ->
+                                                                                                                                                                                                                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _elifsOmtokenPos ->
+                                                                                                                                                                                                                                                                                        ( case (elifs_1 _elifsOconfig _elifsOfuncName _elifsOglobalDefinitions _elifsOisInModule _elifsOisMeta _elifsOloopLevel _elifsOmtokenPos _elifsOscopeLevel _elifsOscopes _elifsOvariableStyle) of
+                                                                                                                                                                                                                                                                                            (_elifsIelseExists, _elifsIglobalDefinitions, _elifsIidentifier, _elifsIisInModule, _elifsImtokenPos, _elifsIscopes, _elifsIvariableStyle, _elifsIwarnings) ->
+                                                                                                                                                                                                                                                                                              ( case ( ( _elifsIscopes
+                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                  _elsOscopes ->
+                                                                                                                                                                                                                                                                                                    ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                        _elsOisMeta ->
+                                                                                                                                                                                                                                                                                                          ( case ( ( _elifsIisInModule
+                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                              _elsOisInModule ->
+                                                                                                                                                                                                                                                                                                                ( case ( ( _elifsIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                    _elsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                      ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                          _elsOconfig ->
+                                                                                                                                                                                                                                                                                                                            ( case ( ( _elifsIvariableStyle
+                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                _elsOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                      _elsOscopeLevel ->
+                                                                                                                                                                                                                                                                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                            _elsOloopLevel ->
+                                                                                                                                                                                                                                                                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                  _elsOfuncName ->
+                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _lhsImtokenPos
+                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                        _elsOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                                          ( case (els_1 _elsOconfig _elsOfuncName _elsOglobalDefinitions _elsOisInModule _elsOisMeta _elsOloopLevel _elsOmtokenPos _elsOscopeLevel _elsOscopes _elsOvariableStyle) of
+                                                                                                                                                                                                                                                                                                                                                              (_elsIelseExists, _elsIglobalDefinitions, _elsIidentifier, _elsIisInModule, _elsImtokenPos, _elsIscopes, _elsIvariableStyle, _elsIwarnings) ->
+                                                                                                                                                                                                                                                                                                                                                                ( case ( ( _elsIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( (const _condIidentifier (const _bodyIidentifier (const _elifsIidentifier _elsIidentifier)))
+                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( not _elifsIelseExists && not _elsIelseExists
+                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                                                                                                                                                                                                                                                                  ( case ( ( _elsIisInModule
+                                                                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                                                                                                                                                                                                                                                                        ( case ( ( _elsImtokenPos
+                                                                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                                                                              ( case ( ( _elsIscopes
+                                                                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _elsIvariableStyle
+                                                                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                                                                                                          ( case ( ( _condIwarnings ++ _bodyIwarnings ++ _elifsIwarnings ++ _elsIwarnings
+                                                                                                                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                                                                                                                              _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                                                                                                                                                                ( case ( ( Region (rgStart _lhsImtokenPos) (customAdvanceToken (rgStart _lhsImtokenPos) If)
+                                                                                                                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                    _keywordPos ->
+                                                                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0
+                                                                                                                                                                                                                                                                                                                                                                                                                                  then id
+                                                                                                                                                                                                                                                                                                                                                                                                                                  else (:) $ warn _keywordPos EmptyIf
+                                                                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                          _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( if not (lint_redundantIfStatements _lhsIconfig) || _bodyIstatementCount /= 1 || not _bodyIisIfStatement || _elifsIelseExists || _elsIelseExists
+                                                                                                                                                                                                                                                                                                                                                                                                                                        then id
+                                                                                                                                                                                                                                                                                                                                                                                                                                        else (:) $ warn _bodyImtokenPos DoubleIf
+                                                                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                  ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                      _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                                 in
+                                                  sem_Stat_AIf_1
+                                               )
+                                             ) of
+                                          (sem_Stat_1) ->
+                                            (_lhsOcopy, sem_Stat_1)
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Stat_ANFor
+  :: T_MToken
+  -> T_MExpr
+  -> T_MExpr
+  -> T_MExpr
+  -> T_Block
+  -> T_Stat
+sem_Stat_ANFor var_ val_ to_ step_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case (step_) of
+            (_stepIcopy, _stepImtokenPos, step_1) ->
+              ( case (to_) of
+                  (_toIcopy, _toImtokenPos, to_1) ->
+                    ( case (val_) of
+                        (_valIcopy, _valImtokenPos, val_1) ->
+                          ( case (var_) of
+                              (_varIcopy, _varImtok, _varImtokenPos, var_1) ->
+                                ( case ( ( ANFor _varIcopy _valIcopy _toIcopy _stepIcopy _bodyIcopy
+                                         )
+                                       ) of
+                                    _copy ->
+                                      ( case ( ( _copy
+                                               )
+                                             ) of
+                                          _lhsOcopy ->
+                                            ( case ( ( let
+                                                        sem_Stat_ANFor_1 :: T_Stat_1
+                                                        sem_Stat_ANFor_1 =
+                                                          ( \_lhsIconfig
+                                                             _lhsIfuncName
+                                                             _lhsIglobalDefinitions
+                                                             _lhsIisInModule
+                                                             _lhsIisMeta
+                                                             _lhsIloopLevel
+                                                             _lhsImtokenPos
+                                                             _lhsIscopeLevel
+                                                             _lhsIscopes
+                                                             _lhsIvariableStyle ->
+                                                                ( case ( ( _lhsIisMeta
+                                                                         )
+                                                                       ) of
+                                                                    _bodyOisMeta ->
+                                                                      ( case ( ( _lhsIisInModule
+                                                                               )
+                                                                             ) of
+                                                                          _varOisInModule ->
+                                                                            ( case ( ( _lhsIscopes
+                                                                                     )
+                                                                                   ) of
+                                                                                _varOscopes ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _varOmtokenPos ->
+                                                                                        ( case ( ( _lhsIisMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _varOisMeta ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _varOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _varOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _varOconfig ->
+                                                                                                                ( case (var_1 _varOconfig _varOfuncName _varOglobalDefinitions _varOisInModule _varOisMeta _varOmtokenPos _varOscopes) of
+                                                                                                                    (_varIglobalDefinitions, _varIidentifier, _varIisInModule, _varIscopes, _varIwarnings) ->
+                                                                                                                      ( case ( ( _varIisInModule
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _valOisInModule ->
+                                                                                                                            ( case ( ( _lhsIvariableStyle
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _valOvariableStyle ->
+                                                                                                                                  ( case ( ( _varIscopes
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _valOscopes ->
+                                                                                                                                        ( case ( ( _lhsIscopeLevel
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _valOscopeLevel ->
+                                                                                                                                              ( case ( ( _varImtokenPos
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _valOmtokenPos ->
+                                                                                                                                                    ( case ( ( _lhsIloopLevel
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _valOloopLevel ->
+                                                                                                                                                          ( case ( ( _lhsIisMeta
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _valOisMeta ->
+                                                                                                                                                                ( case ( ( _varIglobalDefinitions
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _valOglobalDefinitions ->
+                                                                                                                                                                      ( case ( ( _lhsIfuncName
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _valOfuncName ->
+                                                                                                                                                                            ( case ( ( _lhsIconfig
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _valOconfig ->
+                                                                                                                                                                                  ( case ( ( Nothing
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _valOvarBeingDefined ->
+                                                                                                                                                                                        ( case ( ( True
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _valOtopLevel ->
+                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _valOinParentheses ->
+                                                                                                                                                                                                    ( case ( ( False
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _valOisNegation ->
+                                                                                                                                                                                                          ( case (val_1 _valOconfig _valOfuncName _valOglobalDefinitions _valOinParentheses _valOisInModule _valOisMeta _valOisNegation _valOloopLevel _valOmtokenPos _valOscopeLevel _valOscopes _valOtopLevel _valOvarBeingDefined _valOvariableStyle) of
+                                                                                                                                                                                                              (_valIglobalDefinitions, _valIidentifier, _valIisInModule, _valIisSimpleExpression, _valIisSingleVar, _valIscopes, _valIvariableStyle, _valIwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _valIisInModule
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _toOisInModule ->
+                                                                                                                                                                                                                      ( case ( ( _valIvariableStyle
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _toOvariableStyle ->
+                                                                                                                                                                                                                            ( case ( ( _valIscopes
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _toOscopes ->
+                                                                                                                                                                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _toOscopeLevel ->
+                                                                                                                                                                                                                                        ( case ( ( _valImtokenPos
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _toOmtokenPos ->
+                                                                                                                                                                                                                                              ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _toOloopLevel ->
+                                                                                                                                                                                                                                                    ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _toOisMeta ->
+                                                                                                                                                                                                                                                          ( case ( ( _valIglobalDefinitions
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _toOglobalDefinitions ->
+                                                                                                                                                                                                                                                                ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _toOfuncName ->
+                                                                                                                                                                                                                                                                      ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _toOconfig ->
+                                                                                                                                                                                                                                                                            ( case ( ( Nothing
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _toOvarBeingDefined ->
+                                                                                                                                                                                                                                                                                  ( case ( ( True
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _toOtopLevel ->
+                                                                                                                                                                                                                                                                                        ( case ( ( False
+                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                            _toOinParentheses ->
+                                                                                                                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                  _toOisNegation ->
+                                                                                                                                                                                                                                                                                                    ( case (to_1 _toOconfig _toOfuncName _toOglobalDefinitions _toOinParentheses _toOisInModule _toOisMeta _toOisNegation _toOloopLevel _toOmtokenPos _toOscopeLevel _toOscopes _toOtopLevel _toOvarBeingDefined _toOvariableStyle) of
+                                                                                                                                                                                                                                                                                                        (_toIglobalDefinitions, _toIidentifier, _toIisInModule, _toIisSimpleExpression, _toIisSingleVar, _toIscopes, _toIvariableStyle, _toIwarnings) ->
+                                                                                                                                                                                                                                                                                                          ( case ( ( _toIisInModule
+                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                              _stepOisInModule ->
+                                                                                                                                                                                                                                                                                                                ( case ( ( _toIvariableStyle
+                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                    _stepOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                      ( case ( ( _toIscopes
+                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                          _stepOscopes ->
+                                                                                                                                                                                                                                                                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                _stepOscopeLevel ->
+                                                                                                                                                                                                                                                                                                                                  ( case ( ( _toImtokenPos
+                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                      _stepOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                            _stepOloopLevel ->
+                                                                                                                                                                                                                                                                                                                                              ( case ( ( _lhsIisMeta
+                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                  _stepOisMeta ->
+                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _toIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                        _stepOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                                                                              _stepOfuncName ->
+                                                                                                                                                                                                                                                                                                                                                                ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                                                                    _stepOconfig ->
+                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( Nothing
+                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                          _stepOvarBeingDefined ->
+                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( True
+                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                _stepOtopLevel ->
+                                                                                                                                                                                                                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                                                                      _stepOinParentheses ->
+                                                                                                                                                                                                                                                                                                                                                                                        ( case ( ( False
+                                                                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                                                                            _stepOisNegation ->
+                                                                                                                                                                                                                                                                                                                                                                                              ( case (step_1 _stepOconfig _stepOfuncName _stepOglobalDefinitions _stepOinParentheses _stepOisInModule _stepOisMeta _stepOisNegation _stepOloopLevel _stepOmtokenPos _stepOscopeLevel _stepOscopes _stepOtopLevel _stepOvarBeingDefined _stepOvariableStyle) of
+                                                                                                                                                                                                                                                                                                                                                                                                  (_stepIglobalDefinitions, _stepIidentifier, _stepIisInModule, _stepIisSimpleExpression, _stepIisSingleVar, _stepIscopes, _stepIvariableStyle, _stepIwarnings) ->
+                                                                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _stepIisInModule
+                                                                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                                                                        _bodyOisInModule ->
+                                                                                                                                                                                                                                                                                                                                                                                                          ( case ( ( _stepIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                                                                                                                              _bodyOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                                                                                                                ( case ( ( _lhsIconfig
+                                                                                                                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                    _bodyOconfig ->
+                                                                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( M.singleton _varIidentifier (not (lint_unusedLoopVars _lhsIconfig), _varImtokenPos) : _stepIscopes
+                                                                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                          _bodyOscopes ->
+                                                                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( _stepIvariableStyle
+                                                                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                _bodyOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                  ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                      _bodyOscopeLevel ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                        ( case ( ( _stepImtokenPos
+                                                                                                                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                            _bodyOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                              ( case ( ( _lhsIfuncName
+                                                                                                                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                  _bodyOfuncName ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                    ( case ( ( False
+                                                                                                                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                        _bodyOisRepeat ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                          ( case ( ( _lhsIloopLevel + 1
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                              _bodyOloopLevel ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                    (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                          _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( (const _varIidentifier (const _valIidentifier (const _toIidentifier (const _stepIidentifier _bodyIidentifier))))
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                _lhsOidentifier ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      _lhsOisIfStatement ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( case ( ( _bodyIisInModule
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            _lhsOisInModule ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ( case ( ( _bodyImtokenPos
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ( case ( ( _bodyIscopes
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        _lhsOscopes ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ( case ( ( _varIwarnings ++ _valIwarnings ++ _toIwarnings ++ _stepIwarnings ++ _bodyIwarnings
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ( case ( ( checkShadows _lhsIscopes _varIcopy
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          _shadowWarning ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ( case ( ( if not (lint_shadowing _lhsIconfig) || isNothing _shadowWarning
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        then id
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        else (:) . fromMaybe (error "fromMaybe ANFor +warnings") $ _shadowWarning
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              then id
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              else (:) $ warn _lhsImtokenPos EmptyFor
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                       in
+                                                        sem_Stat_ANFor_1
+                                                     )
+                                                   ) of
+                                                (sem_Stat_1) ->
+                                                  (_lhsOcopy, sem_Stat_1)
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Stat_AGFor
+  :: ([MToken])
+  -> T_MExprList
+  -> T_Block
+  -> T_Stat
+sem_Stat_AGFor vars_ vals_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case (vals_) of
+            (_valsIcopy, vals_1) ->
+              ( case ( ( AGFor vars_ _valsIcopy _bodyIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Stat_AGFor_1 :: T_Stat_1
+                                      sem_Stat_AGFor_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisMeta
+                                                       )
+                                                     ) of
+                                                  _bodyOisMeta ->
+                                                    ( case ( ( _lhsIisInModule
+                                                             )
+                                                           ) of
+                                                        _valsOisInModule ->
+                                                          ( case ( ( _lhsIvariableStyle
+                                                                   )
+                                                                 ) of
+                                                              _valsOvariableStyle ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _valsOscopes ->
+                                                                      ( case ( ( _lhsIscopeLevel
+                                                                               )
+                                                                             ) of
+                                                                          _valsOscopeLevel ->
+                                                                            ( case ( ( _lhsImtokenPos
+                                                                                     )
+                                                                                   ) of
+                                                                                _valsOmtokenPos ->
+                                                                                  ( case ( ( _lhsIloopLevel
+                                                                                           )
+                                                                                         ) of
+                                                                                      _valsOloopLevel ->
+                                                                                        ( case ( ( _lhsIisMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _valsOisMeta ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _valsOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _valsOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _valsOconfig ->
+                                                                                                                ( case ( ( True
+                                                                                                                         )
+                                                                                                                       ) of
+                                                                                                                    _valsOtopLevel ->
+                                                                                                                      ( case ( ( True
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _valsOinParentheses ->
+                                                                                                                            ( case (vals_1 _valsOconfig _valsOfuncName _valsOglobalDefinitions _valsOinParentheses _valsOisInModule _valsOisMeta _valsOloopLevel _valsOmtokenPos _valsOscopeLevel _valsOscopes _valsOtopLevel _valsOvariableStyle) of
+                                                                                                                                (_valsIglobalDefinitions, _valsIidentifier, _valsIisInModule, _valsImtokenPos, _valsIscopes, _valsIvariableStyle, _valsIwarnings) ->
+                                                                                                                                  ( case ( ( _valsIisInModule
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _bodyOisInModule ->
+                                                                                                                                        ( case ( ( _valsIglobalDefinitions
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _bodyOglobalDefinitions ->
+                                                                                                                                              ( case ( ( _lhsIconfig
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _bodyOconfig ->
+                                                                                                                                                    ( case ( ( M.fromList $ map (\mt -> (tokenLabel mt, (not (lint_unusedLoopVars _lhsIconfig), mpos mt))) vars_
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _introduces ->
+                                                                                                                                                          ( case ( ( _introduces : _valsIscopes
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _bodyOscopes ->
+                                                                                                                                                                ( case ( ( _valsIvariableStyle
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _bodyOvariableStyle ->
+                                                                                                                                                                      ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _bodyOscopeLevel ->
+                                                                                                                                                                            ( case ( ( _valsImtokenPos
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _bodyOmtokenPos ->
+                                                                                                                                                                                  ( case ( ( _lhsIfuncName
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _bodyOfuncName ->
+                                                                                                                                                                                        ( case ( ( False
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _bodyOisRepeat ->
+                                                                                                                                                                                              ( case ( ( _lhsIloopLevel + 1
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _bodyOloopLevel ->
+                                                                                                                                                                                                    ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                                                                                                        (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                                                                                                          ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                ( case ( ( (const _valsIidentifier _bodyIidentifier)
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOidentifier ->
+                                                                                                                                                                                                                      ( case ( ( False
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOisIfStatement ->
+                                                                                                                                                                                                                            ( case ( ( _bodyIisInModule
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisInModule ->
+                                                                                                                                                                                                                                  ( case ( ( _bodyImtokenPos
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOmtokenPos ->
+                                                                                                                                                                                                                                        ( case ( ( _bodyIscopes
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOscopes ->
+                                                                                                                                                                                                                                              ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                    ( case ( ( _valsIwarnings ++ _bodyIwarnings
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                          ( case ( ( if not (lint_shadowing _lhsIconfig)
+                                                                                                                                                                                                                                                                      then id
+                                                                                                                                                                                                                                                                      else (++) . catMaybes . map (checkShadows _lhsIscopes) $ vars_
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                                ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0
+                                                                                                                                                                                                                                                                            then id
+                                                                                                                                                                                                                                                                            else (:) $ warn _lhsImtokenPos EmptyFor
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                      ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _lhsOwarnings ->
+                                                                                                                                                                                                                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Stat_AGFor_1
+                                   )
+                                 ) of
+                              (sem_Stat_1) ->
+                                (_lhsOcopy, sem_Stat_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_Stat_AFunc
+  :: T_FuncName
+  -> ([MToken])
+  -> T_Block
+  -> T_Stat
+sem_Stat_AFunc name_ args_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case (name_) of
+            (_nameIcopy, _nameIisMeta, name_1) ->
+              ( case ( ( AFunc _nameIcopy args_ _bodyIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Stat_AFunc_1 :: T_Stat_1
+                                      sem_Stat_AFunc_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _nameOisInModule ->
+                                                    ( case ( ( _lhsIvariableStyle
+                                                             )
+                                                           ) of
+                                                        _nameOvariableStyle ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _nameOscopes ->
+                                                                ( case ( ( _lhsIscopeLevel
+                                                                         )
+                                                                       ) of
+                                                                    _nameOscopeLevel ->
+                                                                      ( case ( ( _lhsImtokenPos
+                                                                               )
+                                                                             ) of
+                                                                          _nameOmtokenPos ->
+                                                                            ( case ( ( _lhsIloopLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _nameOloopLevel ->
+                                                                                  ( case ( ( _nameIisMeta || findSelf args_ || _lhsIisMeta
+                                                                                           )
+                                                                                         ) of
+                                                                                      _isMeta ->
+                                                                                        ( case ( ( _isMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _nameOisMeta ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _nameOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _nameOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _nameOconfig ->
+                                                                                                                ( case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of
+                                                                                                                    (_nameIglobalDefinitions, _nameIhasSuffixes, _nameIidentifier, _nameIisInModule, _nameImtokenPos, _nameIscopes, _nameIvariableStyle, _nameIwarnings) ->
+                                                                                                                      ( case ( ( _nameIisInModule
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _bodyOisInModule ->
+                                                                                                                            ( case ( ( _nameIglobalDefinitions
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _bodyOglobalDefinitions ->
+                                                                                                                                  ( case ( ( _lhsIconfig
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _bodyOconfig ->
+                                                                                                                                        ( case ( ( _isMeta
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _bodyOisMeta ->
+                                                                                                                                              ( case ( ( filter (/= MToken emptyRg VarArg) $ args_
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _argIdentifiers ->
+                                                                                                                                                    ( case ( ( (if _isMeta then M.insert "self" (True, _nameImtokenPos) else id) $
+                                                                                                                                                                M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $
+                                                                                                                                                                  _argIdentifiers
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _introduces ->
+                                                                                                                                                          ( case ( ( _introduces : (registerVariable _nameIscopes _nameImtokenPos _nameIidentifier True)
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _bodyOscopes ->
+                                                                                                                                                                ( case ( ( _nameIvariableStyle
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _bodyOvariableStyle ->
+                                                                                                                                                                      ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _bodyOscopeLevel ->
+                                                                                                                                                                            ( case ( ( _nameImtokenPos
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _bodyOmtokenPos ->
+                                                                                                                                                                                  ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _bodyOloopLevel ->
+                                                                                                                                                                                        ( case ( ( _nameIidentifier
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _bodyOfuncName ->
+                                                                                                                                                                                              ( case ( ( False
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _bodyOisRepeat ->
+                                                                                                                                                                                                    ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                                                                                                        (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                                                                                                          ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _globalDefinitions_augmented_syn ->
+                                                                                                                                                                                                                ( case ( ( if _lhsIisInModule || isVariableLocal _lhsIscopes _nameIidentifier || _nameIisMeta || _nameIhasSuffixes
+                                                                                                                                                                                                                            then id
+                                                                                                                                                                                                                            else M.insertWith (++) _nameIidentifier [_nameImtokenPos]
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _globalDefinitions_augmented_f1 ->
+                                                                                                                                                                                                                      ( case ( ( foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                            ( case ( ( (const _nameIidentifier _bodyIidentifier)
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOidentifier ->
+                                                                                                                                                                                                                                  ( case ( ( False
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOisIfStatement ->
+                                                                                                                                                                                                                                        ( case ( ( _bodyIisInModule
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOisInModule ->
+                                                                                                                                                                                                                                              ( case ( ( _bodyImtokenPos
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOmtokenPos ->
+                                                                                                                                                                                                                                                    ( case ( ( _bodyIscopes
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOscopes ->
+                                                                                                                                                                                                                                                          ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                                ( case ( ( _nameIwarnings ++ _bodyIwarnings
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                      ( case ( ( if not (lint_shadowing _lhsIconfig)
+                                                                                                                                                                                                                                                                                  then id
+                                                                                                                                                                                                                                                                                  else (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                            ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Stat_AFunc_1
+                                   )
+                                 ) of
+                              (sem_Stat_1) ->
+                                (_lhsOcopy, sem_Stat_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_Stat_ALocFunc
+  :: T_FuncName
+  -> ([MToken])
+  -> T_Block
+  -> T_Stat
+sem_Stat_ALocFunc name_ args_ body_ =
+  ( case (body_) of
+      (_bodyIcopy, body_1) ->
+        ( case (name_) of
+            (_nameIcopy, _nameIisMeta, name_1) ->
+              ( case ( ( ALocFunc _nameIcopy args_ _bodyIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_Stat_ALocFunc_1 :: T_Stat_1
+                                      sem_Stat_ALocFunc_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _nameOisInModule ->
+                                                    ( case ( ( _lhsIvariableStyle
+                                                             )
+                                                           ) of
+                                                        _nameOvariableStyle ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _nameOscopes ->
+                                                                ( case ( ( _lhsIscopeLevel
+                                                                         )
+                                                                       ) of
+                                                                    _nameOscopeLevel ->
+                                                                      ( case ( ( _lhsImtokenPos
+                                                                               )
+                                                                             ) of
+                                                                          _nameOmtokenPos ->
+                                                                            ( case ( ( _lhsIloopLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _nameOloopLevel ->
+                                                                                  ( case ( ( findSelf args_ || _lhsIisMeta
+                                                                                           )
+                                                                                         ) of
+                                                                                      _isMeta ->
+                                                                                        ( case ( ( _isMeta
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _nameOisMeta ->
+                                                                                              ( case ( ( _lhsIglobalDefinitions
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _nameOglobalDefinitions ->
+                                                                                                    ( case ( ( _lhsIfuncName
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _nameOfuncName ->
+                                                                                                          ( case ( ( _lhsIconfig
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _nameOconfig ->
+                                                                                                                ( case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of
+                                                                                                                    (_nameIglobalDefinitions, _nameIhasSuffixes, _nameIidentifier, _nameIisInModule, _nameImtokenPos, _nameIscopes, _nameIvariableStyle, _nameIwarnings) ->
+                                                                                                                      ( case ( ( _nameIisInModule
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _bodyOisInModule ->
+                                                                                                                            ( case ( ( _nameIglobalDefinitions
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _bodyOglobalDefinitions ->
+                                                                                                                                  ( case ( ( _lhsIconfig
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _bodyOconfig ->
+                                                                                                                                        ( case ( ( _isMeta
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _bodyOisMeta ->
+                                                                                                                                              ( case ( ( M.insert _nameIidentifier (False, _nameImtokenPos) (head _nameIscopes) : tail _nameIscopes
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _passedScopes ->
+                                                                                                                                                    ( case ( ( filter (/= MToken emptyRg VarArg) $ args_
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _argIdentifiers ->
+                                                                                                                                                          ( case ( ( (if _isMeta then M.insert "self" (True, _nameImtokenPos) else id) $
+                                                                                                                                                                      M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $
+                                                                                                                                                                        _argIdentifiers
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _introduces ->
+                                                                                                                                                                ( case ( ( _introduces : _passedScopes
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _bodyOscopes ->
+                                                                                                                                                                      ( case ( ( _nameIvariableStyle
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _bodyOvariableStyle ->
+                                                                                                                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _bodyOscopeLevel ->
+                                                                                                                                                                                  ( case ( ( _nameImtokenPos
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _bodyOmtokenPos ->
+                                                                                                                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                                 )
+                                                                                                                                                                                               ) of
+                                                                                                                                                                                            _bodyOloopLevel ->
+                                                                                                                                                                                              ( case ( ( _nameIidentifier
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _bodyOfuncName ->
+                                                                                                                                                                                                    ( case ( ( False
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _bodyOisRepeat ->
+                                                                                                                                                                                                          ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of
+                                                                                                                                                                                                              (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->
+                                                                                                                                                                                                                ( case ( ( _bodyIglobalDefinitions
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOglobalDefinitions ->
+                                                                                                                                                                                                                      ( case ( ( (const _nameIidentifier _bodyIidentifier)
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOidentifier ->
+                                                                                                                                                                                                                            ( case ( ( False
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOisIfStatement ->
+                                                                                                                                                                                                                                  ( case ( ( _bodyIisInModule
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOisInModule ->
+                                                                                                                                                                                                                                        ( case ( ( _bodyImtokenPos
+                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                            _lhsOmtokenPos ->
+                                                                                                                                                                                                                                              ( case ( ( _bodyIscopes
+                                                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                                                  _lhsOscopes ->
+                                                                                                                                                                                                                                                    ( case ( ( _bodyIvariableStyle
+                                                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                                                        _lhsOvariableStyle ->
+                                                                                                                                                                                                                                                          ( case ( ( _nameIwarnings ++ _bodyIwarnings
+                                                                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                                                                              _warnings_augmented_syn ->
+                                                                                                                                                                                                                                                                ( case ( ( MToken _nameImtokenPos (Identifier _nameIidentifier)
+                                                                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                                                                    _funcname ->
+                                                                                                                                                                                                                                                                      ( case ( ( checkShadows _lhsIscopes _funcname
+                                                                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                                                                          _funcNameShadows ->
+                                                                                                                                                                                                                                                                            ( case ( ( if not (lint_shadowing _lhsIconfig)
+                                                                                                                                                                                                                                                                                        then id
+                                                                                                                                                                                                                                                                                        else (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
+                                                                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                                                                _warnings_augmented_f2 ->
+                                                                                                                                                                                                                                                                                  ( case ( ( if not (lint_shadowing _lhsIconfig) || isNothing _funcNameShadows
+                                                                                                                                                                                                                                                                                              then id
+                                                                                                                                                                                                                                                                                              else (:) . fromMaybe (error "fromMaybe ALocFunc +warnings") $ _funcNameShadows
+                                                                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                                                                      _warnings_augmented_f1 ->
+                                                                                                                                                                                                                                                                                        ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                                                                                                                                                                 )
+                                                                                                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                                                                                                                                                              (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                                                                )
+                                                                                                                                                                                                                                                          )
+                                                                                                                                                                                                                                                    )
+                                                                                                                                                                                                                                              )
+                                                                                                                                                                                                                                        )
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_Stat_ALocFunc_1
+                                   )
+                                 ) of
+                              (sem_Stat_1) ->
+                                (_lhsOcopy, sem_Stat_1)
+                          )
+                    )
+              )
+        )
+  )
+
+-- Token -------------------------------------------------------
+-- cata
+sem_Token
+  :: Token
+  -> T_Token
+sem_Token (Whitespace _space) =
+  (sem_Token_Whitespace _space)
+sem_Token (DashComment _comment) =
+  (sem_Token_DashComment _comment)
+sem_Token (DashBlockComment _depth _comment) =
+  (sem_Token_DashBlockComment _depth _comment)
+sem_Token (SlashComment _comment) =
+  (sem_Token_SlashComment _comment)
+sem_Token (SlashBlockComment _comment) =
+  (sem_Token_SlashBlockComment _comment)
+sem_Token (Semicolon) =
+  (sem_Token_Semicolon)
+sem_Token (TNumber _num) =
+  (sem_Token_TNumber _num)
+sem_Token (DQString _str) =
+  (sem_Token_DQString _str)
+sem_Token (SQString _str) =
+  (sem_Token_SQString _str)
+sem_Token (MLString _str) =
+  (sem_Token_MLString _str)
+sem_Token (TTrue) =
+  (sem_Token_TTrue)
+sem_Token (TFalse) =
+  (sem_Token_TFalse)
+sem_Token (Nil) =
+  (sem_Token_Nil)
+sem_Token (VarArg) =
+  (sem_Token_VarArg)
+sem_Token (Plus) =
+  (sem_Token_Plus)
+sem_Token (Minus) =
+  (sem_Token_Minus)
+sem_Token (Multiply) =
+  (sem_Token_Multiply)
+sem_Token (Divide) =
+  (sem_Token_Divide)
+sem_Token (Modulus) =
+  (sem_Token_Modulus)
+sem_Token (Power) =
+  (sem_Token_Power)
+sem_Token (TEq) =
+  (sem_Token_TEq)
+sem_Token (TNEq) =
+  (sem_Token_TNEq)
+sem_Token (TCNEq) =
+  (sem_Token_TCNEq)
+sem_Token (TLEQ) =
+  (sem_Token_TLEQ)
+sem_Token (TGEQ) =
+  (sem_Token_TGEQ)
+sem_Token (TLT) =
+  (sem_Token_TLT)
+sem_Token (TGT) =
+  (sem_Token_TGT)
+sem_Token (Equals) =
+  (sem_Token_Equals)
+sem_Token (Concatenate) =
+  (sem_Token_Concatenate)
+sem_Token (Colon) =
+  (sem_Token_Colon)
+sem_Token (Dot) =
+  (sem_Token_Dot)
+sem_Token (Comma) =
+  (sem_Token_Comma)
+sem_Token (Hash) =
+  (sem_Token_Hash)
+sem_Token (Not) =
+  (sem_Token_Not)
+sem_Token (CNot) =
+  (sem_Token_CNot)
+sem_Token (And) =
+  (sem_Token_And)
+sem_Token (CAnd) =
+  (sem_Token_CAnd)
+sem_Token (Or) =
+  (sem_Token_Or)
+sem_Token (COr) =
+  (sem_Token_COr)
+sem_Token (Function) =
+  (sem_Token_Function)
+sem_Token (Local) =
+  (sem_Token_Local)
+sem_Token (If) =
+  (sem_Token_If)
+sem_Token (Then) =
+  (sem_Token_Then)
+sem_Token (Elseif) =
+  (sem_Token_Elseif)
+sem_Token (Else) =
+  (sem_Token_Else)
+sem_Token (For) =
+  (sem_Token_For)
+sem_Token (In) =
+  (sem_Token_In)
+sem_Token (Do) =
+  (sem_Token_Do)
+sem_Token (While) =
+  (sem_Token_While)
+sem_Token (Until) =
+  (sem_Token_Until)
+sem_Token (Repeat) =
+  (sem_Token_Repeat)
+sem_Token (Continue) =
+  (sem_Token_Continue)
+sem_Token (Break) =
+  (sem_Token_Break)
+sem_Token (Return) =
+  (sem_Token_Return)
+sem_Token (End) =
+  (sem_Token_End)
+sem_Token (LRound) =
+  (sem_Token_LRound)
+sem_Token (RRound) =
+  (sem_Token_RRound)
+sem_Token (LCurly) =
+  (sem_Token_LCurly)
+sem_Token (RCurly) =
+  (sem_Token_RCurly)
+sem_Token (LSquare) =
+  (sem_Token_LSquare)
+sem_Token (RSquare) =
+  (sem_Token_RSquare)
+sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =
+  (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)
+sem_Token (Identifier _ident) =
+  (sem_Token_Identifier _ident)
+
+-- semantic domain
+type T_Token = (Token, String, ([String -> LintMessage]))
+data Inh_Token = Inh_Token {}
+data Syn_Token = Syn_Token {copy_Syn_Token :: Token, identifier_Syn_Token :: String, warnings_Syn_Token :: ([String -> LintMessage])}
+wrap_Token
+  :: T_Token
+  -> Inh_Token
+  -> Syn_Token
+wrap_Token sem (Inh_Token) =
+  ( let
+      (_lhsOcopy, _lhsOidentifier, _lhsOwarnings) = sem
+    in
+      (Syn_Token _lhsOcopy _lhsOidentifier _lhsOwarnings)
+  )
+sem_Token_Whitespace
+  :: String
+  -> T_Token
+sem_Token_Whitespace space_ =
+  ( case ( ( Whitespace space_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_DashComment
+  :: String
+  -> T_Token
+sem_Token_DashComment comment_ =
+  ( case ( ( DashComment comment_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_DashBlockComment
+  :: Int
+  -> String
+  -> T_Token
+sem_Token_DashBlockComment depth_ comment_ =
+  ( case ( ( DashBlockComment depth_ comment_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_SlashComment
+  :: String
+  -> T_Token
+sem_Token_SlashComment comment_ =
+  ( case ( ( SlashComment comment_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_SlashBlockComment
+  :: String
+  -> T_Token
+sem_Token_SlashBlockComment comment_ =
+  ( case ( ( SlashBlockComment comment_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Semicolon :: T_Token
+sem_Token_Semicolon =
+  ( case ( ( Semicolon
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TNumber
+  :: String
+  -> T_Token
+sem_Token_TNumber num_ =
+  ( case ( ( TNumber num_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_DQString
+  :: String
+  -> T_Token
+sem_Token_DQString str_ =
+  ( case ( ( DQString str_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_SQString
+  :: String
+  -> T_Token
+sem_Token_SQString str_ =
+  ( case ( ( SQString str_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_MLString
+  :: String
+  -> T_Token
+sem_Token_MLString str_ =
+  ( case ( ( MLString str_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TTrue :: T_Token
+sem_Token_TTrue =
+  ( case ( ( TTrue
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TFalse :: T_Token
+sem_Token_TFalse =
+  ( case ( ( TFalse
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Nil :: T_Token
+sem_Token_Nil =
+  ( case ( ( Nil
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_VarArg :: T_Token
+sem_Token_VarArg =
+  ( case ( ( VarArg
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Plus :: T_Token
+sem_Token_Plus =
+  ( case ( ( Plus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Minus :: T_Token
+sem_Token_Minus =
+  ( case ( ( Minus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Multiply :: T_Token
+sem_Token_Multiply =
+  ( case ( ( Multiply
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Divide :: T_Token
+sem_Token_Divide =
+  ( case ( ( Divide
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Modulus :: T_Token
+sem_Token_Modulus =
+  ( case ( ( Modulus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Power :: T_Token
+sem_Token_Power =
+  ( case ( ( Power
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TEq :: T_Token
+sem_Token_TEq =
+  ( case ( ( TEq
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TNEq :: T_Token
+sem_Token_TNEq =
+  ( case ( ( TNEq
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TCNEq :: T_Token
+sem_Token_TCNEq =
+  ( case ( ( TCNEq
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TLEQ :: T_Token
+sem_Token_TLEQ =
+  ( case ( ( TLEQ
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TGEQ :: T_Token
+sem_Token_TGEQ =
+  ( case ( ( TGEQ
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TLT :: T_Token
+sem_Token_TLT =
+  ( case ( ( TLT
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_TGT :: T_Token
+sem_Token_TGT =
+  ( case ( ( TGT
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Equals :: T_Token
+sem_Token_Equals =
+  ( case ( ( Equals
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Concatenate :: T_Token
+sem_Token_Concatenate =
+  ( case ( ( Concatenate
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Colon :: T_Token
+sem_Token_Colon =
+  ( case ( ( Colon
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Dot :: T_Token
+sem_Token_Dot =
+  ( case ( ( Dot
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Comma :: T_Token
+sem_Token_Comma =
+  ( case ( ( Comma
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Hash :: T_Token
+sem_Token_Hash =
+  ( case ( ( Hash
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Not :: T_Token
+sem_Token_Not =
+  ( case ( ( Not
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_CNot :: T_Token
+sem_Token_CNot =
+  ( case ( ( CNot
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_And :: T_Token
+sem_Token_And =
+  ( case ( ( And
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_CAnd :: T_Token
+sem_Token_CAnd =
+  ( case ( ( CAnd
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Or :: T_Token
+sem_Token_Or =
+  ( case ( ( Or
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_COr :: T_Token
+sem_Token_COr =
+  ( case ( ( COr
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Function :: T_Token
+sem_Token_Function =
+  ( case ( ( Function
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Local :: T_Token
+sem_Token_Local =
+  ( case ( ( Local
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_If :: T_Token
+sem_Token_If =
+  ( case ( ( If
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Then :: T_Token
+sem_Token_Then =
+  ( case ( ( Then
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Elseif :: T_Token
+sem_Token_Elseif =
+  ( case ( ( Elseif
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Else :: T_Token
+sem_Token_Else =
+  ( case ( ( Else
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_For :: T_Token
+sem_Token_For =
+  ( case ( ( For
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_In :: T_Token
+sem_Token_In =
+  ( case ( ( In
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Do :: T_Token
+sem_Token_Do =
+  ( case ( ( Do
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_While :: T_Token
+sem_Token_While =
+  ( case ( ( While
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Until :: T_Token
+sem_Token_Until =
+  ( case ( ( Until
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Repeat :: T_Token
+sem_Token_Repeat =
+  ( case ( ( Repeat
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Continue :: T_Token
+sem_Token_Continue =
+  ( case ( ( Continue
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Break :: T_Token
+sem_Token_Break =
+  ( case ( ( Break
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Return :: T_Token
+sem_Token_Return =
+  ( case ( ( Return
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_End :: T_Token
+sem_Token_End =
+  ( case ( ( End
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_LRound :: T_Token
+sem_Token_LRound =
+  ( case ( ( LRound
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_RRound :: T_Token
+sem_Token_RRound =
+  ( case ( ( RRound
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_LCurly :: T_Token
+sem_Token_LCurly =
+  ( case ( ( LCurly
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_RCurly :: T_Token
+sem_Token_RCurly =
+  ( case ( ( RCurly
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_LSquare :: T_Token
+sem_Token_LSquare =
+  ( case ( ( LSquare
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_RSquare :: T_Token
+sem_Token_RSquare =
+  ( case ( ( RSquare
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Label
+  :: String
+  -> String
+  -> String
+  -> T_Token
+sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =
+  ( case ( ( Label whitespaceBefore_ lbl_ whitespaceAfter_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( lbl_
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+sem_Token_Identifier
+  :: String
+  -> T_Token
+sem_Token_Identifier ident_ =
+  ( case ( ( Identifier ident_
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( ident_
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+
+-- TokenList ---------------------------------------------------
+-- cata
+sem_TokenList
+  :: TokenList
+  -> T_TokenList
+sem_TokenList list =
+  (Prelude.foldr sem_TokenList_Cons sem_TokenList_Nil (Prelude.map sem_Token list))
+
+-- semantic domain
+type T_TokenList = (TokenList, String, ([String -> LintMessage]))
+data Inh_TokenList = Inh_TokenList {}
+data Syn_TokenList = Syn_TokenList {copy_Syn_TokenList :: TokenList, identifier_Syn_TokenList :: String, warnings_Syn_TokenList :: ([String -> LintMessage])}
+wrap_TokenList
+  :: T_TokenList
+  -> Inh_TokenList
+  -> Syn_TokenList
+wrap_TokenList sem (Inh_TokenList) =
+  ( let
+      (_lhsOcopy, _lhsOidentifier, _lhsOwarnings) = sem
+    in
+      (Syn_TokenList _lhsOcopy _lhsOidentifier _lhsOwarnings)
+  )
+sem_TokenList_Cons
+  :: T_Token
+  -> T_TokenList
+  -> T_TokenList
+sem_TokenList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, _tlIidentifier, _tlIwarnings) ->
+        ( case (hd_) of
+            (_hdIcopy, _hdIidentifier, _hdIwarnings) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                   )
+                                 ) of
+                              _lhsOidentifier ->
+                                ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                         )
+                                       ) of
+                                    _lhsOwarnings ->
+                                      (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_TokenList_Nil :: T_TokenList
+sem_TokenList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( unknownIdentifier
+                       )
+                     ) of
+                  _lhsOidentifier ->
+                    ( case ( ( []
+                             )
+                           ) of
+                        _lhsOwarnings ->
+                          (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)
+                    )
+              )
+        )
+  )
+
+-- UnOp --------------------------------------------------------
+-- cata
+sem_UnOp
+  :: UnOp
+  -> T_UnOp
+sem_UnOp (UnMinus) =
+  (sem_UnOp_UnMinus)
+sem_UnOp (ANot) =
+  (sem_UnOp_ANot)
+sem_UnOp (AHash) =
+  (sem_UnOp_AHash)
+
+-- semantic domain
+type T_UnOp = (UnOp, T_UnOp_1)
+type T_UnOp_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_UnOp = Inh_UnOp {config_Inh_UnOp :: LintSettings, funcName_Inh_UnOp :: String, globalDefinitions_Inh_UnOp :: (M.Map String [Region]), isInModule_Inh_UnOp :: Bool, isMeta_Inh_UnOp :: Bool, loopLevel_Inh_UnOp :: Int, mtokenPos_Inh_UnOp :: Region, scopeLevel_Inh_UnOp :: Int, scopes_Inh_UnOp :: ([M.Map String (Bool, Region)]), variableStyle_Inh_UnOp :: DeterminedVariableStyle}
+data Syn_UnOp = Syn_UnOp {copy_Syn_UnOp :: UnOp, globalDefinitions_Syn_UnOp :: (M.Map String [Region]), identifier_Syn_UnOp :: String, isInModule_Syn_UnOp :: Bool, isNegation_Syn_UnOp :: Bool, mtokenPos_Syn_UnOp :: Region, scopes_Syn_UnOp :: ([M.Map String (Bool, Region)]), variableStyle_Syn_UnOp :: DeterminedVariableStyle, warnings_Syn_UnOp :: ([String -> LintMessage])}
+wrap_UnOp
+  :: T_UnOp
+  -> Inh_UnOp
+  -> Syn_UnOp
+wrap_UnOp sem (Inh_UnOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_UnOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisNegation _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_UnOp_UnMinus :: T_UnOp
+sem_UnOp_UnMinus =
+  ( case ( ( UnMinus
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_UnOp_UnMinus_1 :: T_UnOp_1
+                          sem_UnOp_UnMinus_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( False
+                                                             )
+                                                           ) of
+                                                        _lhsOisNegation ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_UnOp_UnMinus_1
+                       )
+                     ) of
+                  (sem_UnOp_1) ->
+                    (_lhsOcopy, sem_UnOp_1)
+              )
+        )
+  )
+sem_UnOp_ANot :: T_UnOp
+sem_UnOp_ANot =
+  ( case ( ( ANot
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_UnOp_ANot_1 :: T_UnOp_1
+                          sem_UnOp_ANot_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( True
+                                                             )
+                                                           ) of
+                                                        _lhsOisNegation ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_UnOp_ANot_1
+                       )
+                     ) of
+                  (sem_UnOp_1) ->
+                    (_lhsOcopy, sem_UnOp_1)
+              )
+        )
+  )
+sem_UnOp_AHash :: T_UnOp
+sem_UnOp_AHash =
+  ( case ( ( AHash
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_UnOp_AHash_1 :: T_UnOp_1
+                          sem_UnOp_AHash_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( False
+                                                             )
+                                                           ) of
+                                                        _lhsOisNegation ->
+                                                          ( case ( ( _lhsImtokenPos
+                                                                   )
+                                                                 ) of
+                                                              _lhsOmtokenPos ->
+                                                                ( case ( ( _lhsIscopes
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOscopes ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOvariableStyle ->
+                                                                            ( case ( ( []
+                                                                                     )
+                                                                                   ) of
+                                                                                _lhsOwarnings ->
+                                                                                  (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_UnOp_AHash_1
+                       )
+                     ) of
+                  (sem_UnOp_1) ->
+                    (_lhsOcopy, sem_UnOp_1)
+              )
+        )
+  )
+
+-- VarsList ----------------------------------------------------
+-- cata
+sem_VarsList
+  :: VarsList
+  -> T_VarsList
+sem_VarsList list =
+  (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))
+
+-- semantic domain
+type T_VarsList = (VarsList, T_VarsList_1)
+type T_VarsList_1 =
+  LintSettings
+  -> String
+  -> (M.Map String [Region])
+  -> Bool
+  -> Bool
+  -> Bool
+  -> Int
+  -> Region
+  -> Int
+  -> ([M.Map String (Bool, Region)])
+  -> DeterminedVariableStyle
+  -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))
+data Inh_VarsList = Inh_VarsList {config_Inh_VarsList :: LintSettings, funcName_Inh_VarsList :: String, globalDefinitions_Inh_VarsList :: (M.Map String [Region]), isInModule_Inh_VarsList :: Bool, isMeta_Inh_VarsList :: Bool, localDefinition_Inh_VarsList :: Bool, loopLevel_Inh_VarsList :: Int, mtokenPos_Inh_VarsList :: Region, scopeLevel_Inh_VarsList :: Int, scopes_Inh_VarsList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_VarsList :: DeterminedVariableStyle}
+data Syn_VarsList = Syn_VarsList {copy_Syn_VarsList :: VarsList, globalDefinitions_Syn_VarsList :: (M.Map String [Region]), identifier_Syn_VarsList :: String, isInModule_Syn_VarsList :: Bool, mtokenPos_Syn_VarsList :: Region, scopes_Syn_VarsList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_VarsList :: DeterminedVariableStyle, warnings_Syn_VarsList :: ([String -> LintMessage])}
+wrap_VarsList
+  :: T_VarsList
+  -> Inh_VarsList
+  -> Syn_VarsList
+wrap_VarsList sem (Inh_VarsList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =
+  ( let
+      (_lhsOcopy, sem_1) = sem
+      (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle
+    in
+      (Syn_VarsList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)
+  )
+sem_VarsList_Cons
+  :: T_Declaration
+  -> T_VarsList
+  -> T_VarsList
+sem_VarsList_Cons hd_ tl_ =
+  ( case (tl_) of
+      (_tlIcopy, tl_1) ->
+        ( case (hd_) of
+            (_hdIcopy, hd_1) ->
+              ( case ( ( (:) _hdIcopy _tlIcopy
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( let
+                                      sem_VarsList_Cons_1 :: T_VarsList_1
+                                      sem_VarsList_Cons_1 =
+                                        ( \_lhsIconfig
+                                           _lhsIfuncName
+                                           _lhsIglobalDefinitions
+                                           _lhsIisInModule
+                                           _lhsIisMeta
+                                           _lhsIlocalDefinition
+                                           _lhsIloopLevel
+                                           _lhsImtokenPos
+                                           _lhsIscopeLevel
+                                           _lhsIscopes
+                                           _lhsIvariableStyle ->
+                                              ( case ( ( _lhsIscopes
+                                                       )
+                                                     ) of
+                                                  _hdOscopes ->
+                                                    ( case ( ( _lhsIlocalDefinition
+                                                             )
+                                                           ) of
+                                                        _hdOlocalDefinition ->
+                                                          ( case ( ( _lhsIisMeta
+                                                                   )
+                                                                 ) of
+                                                              _hdOisMeta ->
+                                                                ( case ( ( _lhsIconfig
+                                                                         )
+                                                                       ) of
+                                                                    _hdOconfig ->
+                                                                      ( case ( ( _lhsIvariableStyle
+                                                                               )
+                                                                             ) of
+                                                                          _hdOvariableStyle ->
+                                                                            ( case ( ( _lhsIscopeLevel
+                                                                                     )
+                                                                                   ) of
+                                                                                _hdOscopeLevel ->
+                                                                                  ( case ( ( _lhsImtokenPos
+                                                                                           )
+                                                                                         ) of
+                                                                                      _hdOmtokenPos ->
+                                                                                        ( case ( ( _lhsIloopLevel
+                                                                                                 )
+                                                                                               ) of
+                                                                                            _hdOloopLevel ->
+                                                                                              ( case ( ( _lhsIisInModule
+                                                                                                       )
+                                                                                                     ) of
+                                                                                                  _hdOisInModule ->
+                                                                                                    ( case ( ( _lhsIglobalDefinitions
+                                                                                                             )
+                                                                                                           ) of
+                                                                                                        _hdOglobalDefinitions ->
+                                                                                                          ( case ( ( _lhsIfuncName
+                                                                                                                   )
+                                                                                                                 ) of
+                                                                                                              _hdOfuncName ->
+                                                                                                                ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOlocalDefinition _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of
+                                                                                                                    (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->
+                                                                                                                      ( case ( ( _hdIscopes
+                                                                                                                               )
+                                                                                                                             ) of
+                                                                                                                          _tlOscopes ->
+                                                                                                                            ( case ( ( _lhsIlocalDefinition
+                                                                                                                                     )
+                                                                                                                                   ) of
+                                                                                                                                _tlOlocalDefinition ->
+                                                                                                                                  ( case ( ( _lhsIisMeta
+                                                                                                                                           )
+                                                                                                                                         ) of
+                                                                                                                                      _tlOisMeta ->
+                                                                                                                                        ( case ( ( _hdIisInModule
+                                                                                                                                                 )
+                                                                                                                                               ) of
+                                                                                                                                            _tlOisInModule ->
+                                                                                                                                              ( case ( ( _hdIglobalDefinitions
+                                                                                                                                                       )
+                                                                                                                                                     ) of
+                                                                                                                                                  _tlOglobalDefinitions ->
+                                                                                                                                                    ( case ( ( _lhsIconfig
+                                                                                                                                                             )
+                                                                                                                                                           ) of
+                                                                                                                                                        _tlOconfig ->
+                                                                                                                                                          ( case ( ( _hdIvariableStyle
+                                                                                                                                                                   )
+                                                                                                                                                                 ) of
+                                                                                                                                                              _tlOvariableStyle ->
+                                                                                                                                                                ( case ( ( _lhsIscopeLevel
+                                                                                                                                                                         )
+                                                                                                                                                                       ) of
+                                                                                                                                                                    _tlOscopeLevel ->
+                                                                                                                                                                      ( case ( ( _hdImtokenPos
+                                                                                                                                                                               )
+                                                                                                                                                                             ) of
+                                                                                                                                                                          _tlOmtokenPos ->
+                                                                                                                                                                            ( case ( ( _lhsIloopLevel
+                                                                                                                                                                                     )
+                                                                                                                                                                                   ) of
+                                                                                                                                                                                _tlOloopLevel ->
+                                                                                                                                                                                  ( case ( ( _lhsIfuncName
+                                                                                                                                                                                           )
+                                                                                                                                                                                         ) of
+                                                                                                                                                                                      _tlOfuncName ->
+                                                                                                                                                                                        ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOlocalDefinition _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of
+                                                                                                                                                                                            (_tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->
+                                                                                                                                                                                              ( case ( ( _tlIglobalDefinitions
+                                                                                                                                                                                                       )
+                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                  _lhsOglobalDefinitions ->
+                                                                                                                                                                                                    ( case ( ( (const _hdIidentifier _tlIidentifier)
+                                                                                                                                                                                                             )
+                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                        _lhsOidentifier ->
+                                                                                                                                                                                                          ( case ( ( _tlIisInModule
+                                                                                                                                                                                                                   )
+                                                                                                                                                                                                                 ) of
+                                                                                                                                                                                                              _lhsOisInModule ->
+                                                                                                                                                                                                                ( case ( ( _hdImtokenPos
+                                                                                                                                                                                                                         )
+                                                                                                                                                                                                                       ) of
+                                                                                                                                                                                                                    _lhsOmtokenPos ->
+                                                                                                                                                                                                                      ( case ( ( _tlIscopes
+                                                                                                                                                                                                                               )
+                                                                                                                                                                                                                             ) of
+                                                                                                                                                                                                                          _lhsOscopes ->
+                                                                                                                                                                                                                            ( case ( ( _tlIvariableStyle
+                                                                                                                                                                                                                                     )
+                                                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                                                _lhsOvariableStyle ->
+                                                                                                                                                                                                                                  ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                                           )
+                                                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                                                      _lhsOwarnings ->
+                                                                                                                                                                                                                                        (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                                                                                                                                                                                  )
+                                                                                                                                                                                                                            )
+                                                                                                                                                                                                                      )
+                                                                                                                                                                                                                )
+                                                                                                                                                                                                          )
+                                                                                                                                                                                                    )
+                                                                                                                                                                                              )
+                                                                                                                                                                                        )
+                                                                                                                                                                                  )
+                                                                                                                                                                            )
+                                                                                                                                                                      )
+                                                                                                                                                                )
+                                                                                                                                                          )
+                                                                                                                                                    )
+                                                                                                                                              )
+                                                                                                                                        )
+                                                                                                                                  )
+                                                                                                                            )
+                                                                                                                      )
+                                                                                                                )
+                                                                                                          )
+                                                                                                    )
+                                                                                              )
+                                                                                        )
+                                                                                  )
+                                                                            )
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                     in
+                                      sem_VarsList_Cons_1
+                                   )
+                                 ) of
+                              (sem_VarsList_1) ->
+                                (_lhsOcopy, sem_VarsList_1)
+                          )
+                    )
+              )
+        )
+  )
+sem_VarsList_Nil :: T_VarsList
+sem_VarsList_Nil =
+  ( case ( ( []
+           )
+         ) of
+      _copy ->
+        ( case ( ( _copy
+                 )
+               ) of
+            _lhsOcopy ->
+              ( case ( ( let
+                          sem_VarsList_Nil_1 :: T_VarsList_1
+                          sem_VarsList_Nil_1 =
+                            ( \_lhsIconfig
+                               _lhsIfuncName
+                               _lhsIglobalDefinitions
+                               _lhsIisInModule
+                               _lhsIisMeta
+                               _lhsIlocalDefinition
+                               _lhsIloopLevel
+                               _lhsImtokenPos
+                               _lhsIscopeLevel
+                               _lhsIscopes
+                               _lhsIvariableStyle ->
+                                  ( case ( ( _lhsIglobalDefinitions
+                                           )
+                                         ) of
+                                      _lhsOglobalDefinitions ->
+                                        ( case ( ( unknownIdentifier
+                                                 )
+                                               ) of
+                                            _lhsOidentifier ->
+                                              ( case ( ( _lhsIisInModule
+                                                       )
+                                                     ) of
+                                                  _lhsOisInModule ->
+                                                    ( case ( ( _lhsImtokenPos
+                                                             )
+                                                           ) of
+                                                        _lhsOmtokenPos ->
+                                                          ( case ( ( _lhsIscopes
+                                                                   )
+                                                                 ) of
+                                                              _lhsOscopes ->
+                                                                ( case ( ( _lhsIvariableStyle
+                                                                         )
+                                                                       ) of
+                                                                    _lhsOvariableStyle ->
+                                                                      ( case ( ( []
+                                                                               )
+                                                                             ) of
+                                                                          _lhsOwarnings ->
+                                                                            (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)
+                                                                      )
+                                                                )
+                                                          )
+                                                    )
+                                              )
+                                        )
+                                  )
+                            )
+                         in
+                          sem_VarsList_Nil_1
+                       )
+                     ) of
+                  (sem_VarsList_1) ->
+                    (_lhsOcopy, sem_VarsList_1)
+              )
+        )
+  )
diff --git a/src/GLuaFixer/AG/LexLint.hs b/src/GLuaFixer/AG/LexLint.hs
--- a/src/GLuaFixer/AG/LexLint.hs
+++ b/src/GLuaFixer/AG/LexLint.hs
@@ -1,6733 +1,6871 @@
-
-
-{-# LANGUAGE DeriveGeneric #-}
-{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
-{-# OPTIONS_GHC -fno-warn-unused-binds #-}
-{-# LANGUAGE CPP #-}
--- UUAGC 0.9.53.1 (src/GLuaFixer/AG/LexLint.ag)
-module GLuaFixer.AG.LexLint(
-    lintWarnings,
-    fixedLexPositions
-) where
-
-{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}
-
-import Text.ParserCombinators.UU.BasicInstances hiding (pos)
-import GHC.Generics
-{-# LINE 19 "src/GLuaFixer/AG/LexLint.hs" #-}
-
-{-# LINE 15 "src/GLuaFixer/AG/LexLint.ag" #-}
-
-import Data.List
-import GLua.TokenTypes
-import GLua.AG.Token
-import GLuaFixer.LintMessage
-import GLuaFixer.LintSettings
-{-# LINE 28 "src/GLuaFixer/AG/LexLint.hs" #-}
-{-# LINE 25 "src/GLuaFixer/AG/LexLint.ag" #-}
-
-
-----------------------------------------
---  C-style / Lua-style syntax inconsistencies
-----------------------------------------
--- For detecting the usage of Lua/C syntax inconsistently
-data SyntaxUsed = SyntaxUsed { luaUsed :: Bool, cUsed :: Bool } deriving (Show)
-
-instance Semigroup SyntaxUsed where
-    (SyntaxUsed l1 c1) <> (SyntaxUsed l2 c2) = SyntaxUsed (l1 || l2) (c1 || c2)
-
--- Monoid instance
-instance Monoid SyntaxUsed where
-    mempty = SyntaxUsed False False
-
-mTokenWarning :: Region -> Issue -> FilePath -> LintMessage
-mTokenWarning pos issue = LintMessage LintWarning pos issue
-
-isSingleChar :: String -> Bool
-isSingleChar [] = True
-isSingleChar ('\\' : xs) = length xs == 1
-isSingleChar (_ : []) = True
-isSingleChar _ = False
-
--- Locate the exact position of trailing whitespace
-locateTrailingWhitespace :: LineColPos -> String -> (LineColPos, String)
-locateTrailingWhitespace pos (' ' : xs) = (pos, xs)
-locateTrailingWhitespace pos ('\t' : xs) = (pos, xs)
-locateTrailingWhitespace pos (x : xs) = locateTrailingWhitespace (customAdvanceChr pos x) xs
-locateTrailingWhitespace pos [] = (pos, "")
-
--- Locate the start of a line's indentation in a string of whitespace
-indentationStart :: LineColPos -> String -> LineColPos
-indentationStart pos = go pos pos
-  where
-    go :: LineColPos -> LineColPos -> String -> LineColPos
-    go _ cur ('\n' : xs) = let next = customAdvanceChr cur '\n' in go next next xs
-    go found cur (x : xs) = go found (customAdvanceChr cur x) xs
-    go found _ [] = found
-
-endOfTrailingWhitespace :: (LineColPos, String) -> LineColPos
-endOfTrailingWhitespace (pos, ('\n' : _)) = pos
-endOfTrailingWhitespace (pos, (x : xs)) = endOfTrailingWhitespace (customAdvanceChr pos x, xs)
-endOfTrailingWhitespace (pos, []) = pos
-
-
-{-# LINE 76 "src/GLuaFixer/AG/LexLint.hs" #-}
-
-{-# LINE 237 "src/GLuaFixer/AG/LexLint.ag" #-}
-
-
-
-inh_MTokenList :: LintSettings -> Inh_MTokenList
-inh_MTokenList conf =
-                 Inh_MTokenList {
-                    config_Inh_MTokenList                   = conf,
-                    andSyntax_Inh_MTokenList                = mempty,
-                    indentation_Inh_MTokenList              = mempty,
-                    lineCommentSyntax_Inh_MTokenList        = mempty,
-                    multilineCommentSyntax_Inh_MTokenList   = mempty,
-                    neqSyntax_Inh_MTokenList                = mempty,
-                    notSyntax_Inh_MTokenList                = mempty,
-                    orSyntax_Inh_MTokenList                 = mempty,
-                    strSyntax_Inh_MTokenList                = mempty,
-                    nextTokenPos_Inh_MTokenList             = LineColPos 0 0 0
-                 }
-
-lintWarnings        :: LintSettings -> [MToken] -> [String -> LintMessage]
-lintWarnings conf p = warnings_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList conf))
-
--- Necessary because uu-parsinglib's LineColPos walks over tabs as though they are 8 spaces. Note
--- that this also applies when the code is lexed by the Parsec lexer.
-fixedLexPositions   :: [MToken] -> [MToken]
-fixedLexPositions p = copy_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList defaultLintSettings))
-{-# LINE 104 "src/GLuaFixer/AG/LexLint.hs" #-}
--- MToken ------------------------------------------------------
--- cata
-sem_MToken :: MToken ->
-              T_MToken
-sem_MToken (MToken _mpos _mtok) =
-    (sem_MToken_MToken (sem_Region _mpos) (sem_Token _mtok))
--- semantic domain
-type T_MToken = SyntaxUsed ->
-                LintSettings ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                LineColPos ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                ( SyntaxUsed,MToken,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))
-data Inh_MToken = Inh_MToken {andSyntax_Inh_MToken :: SyntaxUsed,config_Inh_MToken :: LintSettings,indentation_Inh_MToken :: SyntaxUsed,lineCommentSyntax_Inh_MToken :: SyntaxUsed,multilineCommentSyntax_Inh_MToken :: SyntaxUsed,neqSyntax_Inh_MToken :: SyntaxUsed,nextTokenPos_Inh_MToken :: LineColPos,notSyntax_Inh_MToken :: SyntaxUsed,orSyntax_Inh_MToken :: SyntaxUsed,strSyntax_Inh_MToken :: SyntaxUsed}
-data Syn_MToken = Syn_MToken {andSyntax_Syn_MToken :: SyntaxUsed,copy_Syn_MToken :: MToken,indentation_Syn_MToken :: SyntaxUsed,lineCommentSyntax_Syn_MToken :: SyntaxUsed,multilineCommentSyntax_Syn_MToken :: SyntaxUsed,neqSyntax_Syn_MToken :: SyntaxUsed,nextTokenPos_Syn_MToken :: LineColPos,notSyntax_Syn_MToken :: SyntaxUsed,orSyntax_Syn_MToken :: SyntaxUsed,strSyntax_Syn_MToken :: SyntaxUsed,warnings_Syn_MToken :: ([FilePath -> LintMessage])}
-wrap_MToken :: T_MToken ->
-               Inh_MToken ->
-               Syn_MToken
-wrap_MToken sem (Inh_MToken _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
-    (let ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
-     in  (Syn_MToken _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))
-sem_MToken_MToken :: T_Region ->
-                     T_Token ->
-                     T_MToken
-sem_MToken_MToken mpos_ mtok_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 77 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIconfig
-                 {-# LINE 147 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _mtokOconfig ->
-          (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  _lhsIandSyntax
-                  {-# LINE 152 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _mposOandSyntax ->
-           (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _lhsIstrSyntax
-                   {-# LINE 157 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _mposOstrSyntax ->
-            (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    _lhsIorSyntax
-                    {-# LINE 162 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _mposOorSyntax ->
-             (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsInotSyntax
-                     {-# LINE 167 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _mposOnotSyntax ->
-              (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsInextTokenPos
-                      {-# LINE 172 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _mposOnextTokenPos ->
-               (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsIneqSyntax
-                       {-# LINE 177 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _mposOneqSyntax ->
-                (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsImultilineCommentSyntax
-                        {-# LINE 182 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _mposOmultilineCommentSyntax ->
-                 (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsIlineCommentSyntax
-                         {-# LINE 187 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _mposOlineCommentSyntax ->
-                  (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIindentation
-                          {-# LINE 192 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _mposOindentation ->
-                   (case (({-# LINE 77 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIconfig
-                           {-# LINE 197 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _mposOconfig ->
-                    (case (mpos_ _mposOandSyntax _mposOconfig _mposOindentation _mposOlineCommentSyntax _mposOmultilineCommentSyntax _mposOneqSyntax _mposOnextTokenPos _mposOnotSyntax _mposOorSyntax _mposOstrSyntax) of
-                     { ( _mposIandSyntax,_mposIcopy,_mposIindentation,_mposIlineCommentSyntax,_mposImultilineCommentSyntax,_mposIneqSyntax,_mposInextTokenPos,_mposInotSyntax,_mposIorSyntax,_mposIstrSyntax,_mposIwarnings) ->
-                         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 _mposIandSyntax
-                                 {-# LINE 204 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _mtokOandSyntax ->
-                          (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  _mposIstrSyntax
-                                  {-# LINE 209 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _mtokOstrSyntax ->
-                           (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                   _mposIorSyntax
-                                   {-# LINE 214 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                   )) of
-                            { _mtokOorSyntax ->
-                            (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                    _mposInotSyntax
-                                    {-# LINE 219 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                    )) of
-                             { _mtokOnotSyntax ->
-                             (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                     _mposInextTokenPos
-                                     {-# LINE 224 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                     )) of
-                              { _mtokOnextTokenPos ->
-                              (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                      _mposIneqSyntax
-                                      {-# LINE 229 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                      )) of
-                               { _mtokOneqSyntax ->
-                               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                       _mposImultilineCommentSyntax
-                                       {-# LINE 234 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                       )) of
-                                { _mtokOmultilineCommentSyntax ->
-                                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                        _mposIlineCommentSyntax
-                                        {-# LINE 239 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                        )) of
-                                 { _mtokOlineCommentSyntax ->
-                                 (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                         _mposIindentation
-                                         {-# LINE 244 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                         )) of
-                                  { _mtokOindentation ->
-                                  (case (mtok_ _mtokOandSyntax _mtokOconfig _mtokOindentation _mtokOlineCommentSyntax _mtokOmultilineCommentSyntax _mtokOneqSyntax _mtokOnextTokenPos _mtokOnotSyntax _mtokOorSyntax _mtokOstrSyntax) of
-                                   { ( _mtokIandSyntax,_mtokIcopy,_mtokIcustomWarnings,_mtokIindentation,_mtokIlineCommentSyntax,_mtokImultilineCommentSyntax,_mtokIneqSyntax,_mtokInextTokenPos,_mtokInotSyntax,_mtokIorSyntax,_mtokIstrSyntax,_mtokItokenWarnings,_mtokIwarnings) ->
-                                       (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                               _mtokIandSyntax
-                                               {-# LINE 251 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                               )) of
-                                        { _lhsOandSyntax ->
-                                        (case (({-# LINE 109 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                Region _lhsInextTokenPos (customAdvanceToken _lhsInextTokenPos _mtokIcopy)
-                                                {-# LINE 256 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                )) of
-                                         { _mpos ->
-                                         (case (({-# LINE 110 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                 MToken _mpos     _mtokIcopy
-                                                 {-# LINE 261 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                 )) of
-                                          { _copy ->
-                                          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                  _copy
-                                                  {-# LINE 266 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                  )) of
-                                           { _lhsOcopy ->
-                                           (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                   _mtokIindentation
-                                                   {-# LINE 271 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                   )) of
-                                            { _lhsOindentation ->
-                                            (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                    _mtokIlineCommentSyntax
-                                                    {-# LINE 276 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                    )) of
-                                             { _lhsOlineCommentSyntax ->
-                                             (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                     _mtokImultilineCommentSyntax
-                                                     {-# LINE 281 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                     )) of
-                                              { _lhsOmultilineCommentSyntax ->
-                                              (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                      _mtokIneqSyntax
-                                                      {-# LINE 286 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                      )) of
-                                               { _lhsOneqSyntax ->
-                                               (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                       _mtokInextTokenPos
-                                                       {-# LINE 291 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                       )) of
-                                                { _lhsOnextTokenPos ->
-                                                (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                        _mtokInotSyntax
-                                                        {-# LINE 296 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOnotSyntax ->
-                                                 (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                         _mtokIorSyntax
-                                                         {-# LINE 301 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOorSyntax ->
-                                                  (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                          _mtokIstrSyntax
-                                                          {-# LINE 306 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOstrSyntax ->
-                                                   (case (({-# LINE 113 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                           _mtokIcustomWarnings ++ map (mTokenWarning _mpos    ) _mtokItokenWarnings
-                                                           {-# LINE 311 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOwarnings ->
-                                                    ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
--- MTokenList --------------------------------------------------
--- cata
-sem_MTokenList :: MTokenList ->
-                  T_MTokenList
-sem_MTokenList list =
-    (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))
--- semantic domain
-type T_MTokenList = SyntaxUsed ->
-                    LintSettings ->
-                    SyntaxUsed ->
-                    SyntaxUsed ->
-                    SyntaxUsed ->
-                    SyntaxUsed ->
-                    LineColPos ->
-                    SyntaxUsed ->
-                    SyntaxUsed ->
-                    SyntaxUsed ->
-                    ( SyntaxUsed,MTokenList,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))
-data Inh_MTokenList = Inh_MTokenList {andSyntax_Inh_MTokenList :: SyntaxUsed,config_Inh_MTokenList :: LintSettings,indentation_Inh_MTokenList :: SyntaxUsed,lineCommentSyntax_Inh_MTokenList :: SyntaxUsed,multilineCommentSyntax_Inh_MTokenList :: SyntaxUsed,neqSyntax_Inh_MTokenList :: SyntaxUsed,nextTokenPos_Inh_MTokenList :: LineColPos,notSyntax_Inh_MTokenList :: SyntaxUsed,orSyntax_Inh_MTokenList :: SyntaxUsed,strSyntax_Inh_MTokenList :: SyntaxUsed}
-data Syn_MTokenList = Syn_MTokenList {andSyntax_Syn_MTokenList :: SyntaxUsed,copy_Syn_MTokenList :: MTokenList,indentation_Syn_MTokenList :: SyntaxUsed,lineCommentSyntax_Syn_MTokenList :: SyntaxUsed,multilineCommentSyntax_Syn_MTokenList :: SyntaxUsed,neqSyntax_Syn_MTokenList :: SyntaxUsed,nextTokenPos_Syn_MTokenList :: LineColPos,notSyntax_Syn_MTokenList :: SyntaxUsed,orSyntax_Syn_MTokenList :: SyntaxUsed,strSyntax_Syn_MTokenList :: SyntaxUsed,warnings_Syn_MTokenList :: ([FilePath -> LintMessage])}
-wrap_MTokenList :: T_MTokenList ->
-                   Inh_MTokenList ->
-                   Syn_MTokenList
-wrap_MTokenList sem (Inh_MTokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
-    (let ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
-     in  (Syn_MTokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))
-sem_MTokenList_Cons :: T_MToken ->
-                       T_MTokenList ->
-                       T_MTokenList
-sem_MTokenList_Cons hd_ tl_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 77 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIconfig
-                 {-# LINE 357 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _tlOconfig ->
-          (case (({-# LINE 77 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  _lhsIconfig
-                  {-# LINE 362 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _hdOconfig ->
-           (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _lhsIandSyntax
-                   {-# LINE 367 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _hdOandSyntax ->
-            (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    _lhsIstrSyntax
-                    {-# LINE 372 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _hdOstrSyntax ->
-             (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIorSyntax
-                     {-# LINE 377 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _hdOorSyntax ->
-              (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsInotSyntax
-                      {-# LINE 382 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _hdOnotSyntax ->
-               (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsInextTokenPos
-                       {-# LINE 387 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _hdOnextTokenPos ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 392 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _hdOneqSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsImultilineCommentSyntax
-                         {-# LINE 397 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _hdOmultilineCommentSyntax ->
-                  (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIlineCommentSyntax
-                          {-# LINE 402 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _hdOlineCommentSyntax ->
-                   (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIindentation
-                           {-# LINE 407 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _hdOindentation ->
-                    (case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of
-                     { ( _hdIandSyntax,_hdIcopy,_hdIindentation,_hdIlineCommentSyntax,_hdImultilineCommentSyntax,_hdIneqSyntax,_hdInextTokenPos,_hdInotSyntax,_hdIorSyntax,_hdIstrSyntax,_hdIwarnings) ->
-                         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 _hdIandSyntax
-                                 {-# LINE 414 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _tlOandSyntax ->
-                          (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  _hdIstrSyntax
-                                  {-# LINE 419 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _tlOstrSyntax ->
-                           (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                   _hdIorSyntax
-                                   {-# LINE 424 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                   )) of
-                            { _tlOorSyntax ->
-                            (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                    _hdInotSyntax
-                                    {-# LINE 429 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                    )) of
-                             { _tlOnotSyntax ->
-                             (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                     _hdInextTokenPos
-                                     {-# LINE 434 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                     )) of
-                              { _tlOnextTokenPos ->
-                              (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                      _hdIneqSyntax
-                                      {-# LINE 439 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                      )) of
-                               { _tlOneqSyntax ->
-                               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                       _hdImultilineCommentSyntax
-                                       {-# LINE 444 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                       )) of
-                                { _tlOmultilineCommentSyntax ->
-                                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                        _hdIlineCommentSyntax
-                                        {-# LINE 449 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                        )) of
-                                 { _tlOlineCommentSyntax ->
-                                 (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                         _hdIindentation
-                                         {-# LINE 454 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                         )) of
-                                  { _tlOindentation ->
-                                  (case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of
-                                   { ( _tlIandSyntax,_tlIcopy,_tlIindentation,_tlIlineCommentSyntax,_tlImultilineCommentSyntax,_tlIneqSyntax,_tlInextTokenPos,_tlInotSyntax,_tlIorSyntax,_tlIstrSyntax,_tlIwarnings) ->
-                                       (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                               _tlIandSyntax
-                                               {-# LINE 461 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                               )) of
-                                        { _lhsOandSyntax ->
-                                        (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                (:) _hdIcopy _tlIcopy
-                                                {-# LINE 466 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                )) of
-                                         { _copy ->
-                                         (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                 _copy
-                                                 {-# LINE 471 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                 )) of
-                                          { _lhsOcopy ->
-                                          (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                  _tlIindentation
-                                                  {-# LINE 476 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                  )) of
-                                           { _lhsOindentation ->
-                                           (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                   _tlIlineCommentSyntax
-                                                   {-# LINE 481 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                   )) of
-                                            { _lhsOlineCommentSyntax ->
-                                            (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                    _tlImultilineCommentSyntax
-                                                    {-# LINE 486 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                    )) of
-                                             { _lhsOmultilineCommentSyntax ->
-                                             (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                     _tlIneqSyntax
-                                                     {-# LINE 491 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                     )) of
-                                              { _lhsOneqSyntax ->
-                                              (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                      _tlInextTokenPos
-                                                      {-# LINE 496 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                      )) of
-                                               { _lhsOnextTokenPos ->
-                                               (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                       _tlInotSyntax
-                                                       {-# LINE 501 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                       )) of
-                                                { _lhsOnotSyntax ->
-                                                (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                        _tlIorSyntax
-                                                        {-# LINE 506 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOorSyntax ->
-                                                 (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                         _tlIstrSyntax
-                                                         {-# LINE 511 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOstrSyntax ->
-                                                  (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                          _hdIwarnings ++ _tlIwarnings
-                                                          {-# LINE 516 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOwarnings ->
-                                                   ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_MTokenList_Nil :: T_MTokenList
-sem_MTokenList_Nil =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 534 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  []
-                  {-# LINE 539 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 544 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    _lhsIindentation
-                    {-# LINE 549 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOindentation ->
-             (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIlineCommentSyntax
-                     {-# LINE 554 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOlineCommentSyntax ->
-              (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsImultilineCommentSyntax
-                      {-# LINE 559 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOmultilineCommentSyntax ->
-               (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsIneqSyntax
-                       {-# LINE 564 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOneqSyntax ->
-                (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsInextTokenPos
-                        {-# LINE 569 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOnextTokenPos ->
-                 (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsInotSyntax
-                         {-# LINE 574 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnotSyntax ->
-                  (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIorSyntax
-                          {-# LINE 579 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOorSyntax ->
-                   (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIstrSyntax
-                           {-# LINE 584 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOstrSyntax ->
-                    (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            []
-                            {-# LINE 589 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOwarnings ->
-                     ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }))
--- Region ------------------------------------------------------
--- cata
-sem_Region :: Region ->
-              T_Region
-sem_Region (Region _start _end) =
-    (sem_Region_Region _start _end)
--- semantic domain
-type T_Region = SyntaxUsed ->
-                LintSettings ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                LineColPos ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                SyntaxUsed ->
-                ( SyntaxUsed,Region,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))
-data Inh_Region = Inh_Region {andSyntax_Inh_Region :: SyntaxUsed,config_Inh_Region :: LintSettings,indentation_Inh_Region :: SyntaxUsed,lineCommentSyntax_Inh_Region :: SyntaxUsed,multilineCommentSyntax_Inh_Region :: SyntaxUsed,neqSyntax_Inh_Region :: SyntaxUsed,nextTokenPos_Inh_Region :: LineColPos,notSyntax_Inh_Region :: SyntaxUsed,orSyntax_Inh_Region :: SyntaxUsed,strSyntax_Inh_Region :: SyntaxUsed}
-data Syn_Region = Syn_Region {andSyntax_Syn_Region :: SyntaxUsed,copy_Syn_Region :: Region,indentation_Syn_Region :: SyntaxUsed,lineCommentSyntax_Syn_Region :: SyntaxUsed,multilineCommentSyntax_Syn_Region :: SyntaxUsed,neqSyntax_Syn_Region :: SyntaxUsed,nextTokenPos_Syn_Region :: LineColPos,notSyntax_Syn_Region :: SyntaxUsed,orSyntax_Syn_Region :: SyntaxUsed,strSyntax_Syn_Region :: SyntaxUsed,warnings_Syn_Region :: ([FilePath -> LintMessage])}
-wrap_Region :: T_Region ->
-               Inh_Region ->
-               Syn_Region
-wrap_Region sem (Inh_Region _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
-    (let ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
-     in  (Syn_Region _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))
-sem_Region_Region :: LineColPos ->
-                     LineColPos ->
-                     T_Region
-sem_Region_Region start_ end_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 635 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Region start_ end_
-                  {-# LINE 640 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 645 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    _lhsIindentation
-                    {-# LINE 650 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOindentation ->
-             (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIlineCommentSyntax
-                     {-# LINE 655 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOlineCommentSyntax ->
-              (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsImultilineCommentSyntax
-                      {-# LINE 660 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOmultilineCommentSyntax ->
-               (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsIneqSyntax
-                       {-# LINE 665 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOneqSyntax ->
-                (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsInextTokenPos
-                        {-# LINE 670 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOnextTokenPos ->
-                 (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsInotSyntax
-                         {-# LINE 675 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnotSyntax ->
-                  (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIorSyntax
-                          {-# LINE 680 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOorSyntax ->
-                   (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIstrSyntax
-                           {-# LINE 685 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOstrSyntax ->
-                    (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            []
-                            {-# LINE 690 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOwarnings ->
-                     ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }))
--- Token -------------------------------------------------------
--- cata
-sem_Token :: Token ->
-             T_Token
-sem_Token (Whitespace _space) =
-    (sem_Token_Whitespace _space)
-sem_Token (DashComment _comment) =
-    (sem_Token_DashComment _comment)
-sem_Token (DashBlockComment _depth _comment) =
-    (sem_Token_DashBlockComment _depth _comment)
-sem_Token (SlashComment _comment) =
-    (sem_Token_SlashComment _comment)
-sem_Token (SlashBlockComment _comment) =
-    (sem_Token_SlashBlockComment _comment)
-sem_Token (Semicolon) =
-    (sem_Token_Semicolon)
-sem_Token (TNumber _num) =
-    (sem_Token_TNumber _num)
-sem_Token (DQString _str) =
-    (sem_Token_DQString _str)
-sem_Token (SQString _str) =
-    (sem_Token_SQString _str)
-sem_Token (MLString _str) =
-    (sem_Token_MLString _str)
-sem_Token (TTrue) =
-    (sem_Token_TTrue)
-sem_Token (TFalse) =
-    (sem_Token_TFalse)
-sem_Token (Nil) =
-    (sem_Token_Nil)
-sem_Token (VarArg) =
-    (sem_Token_VarArg)
-sem_Token (Plus) =
-    (sem_Token_Plus)
-sem_Token (Minus) =
-    (sem_Token_Minus)
-sem_Token (Multiply) =
-    (sem_Token_Multiply)
-sem_Token (Divide) =
-    (sem_Token_Divide)
-sem_Token (Modulus) =
-    (sem_Token_Modulus)
-sem_Token (Power) =
-    (sem_Token_Power)
-sem_Token (TEq) =
-    (sem_Token_TEq)
-sem_Token (TNEq) =
-    (sem_Token_TNEq)
-sem_Token (TCNEq) =
-    (sem_Token_TCNEq)
-sem_Token (TLEQ) =
-    (sem_Token_TLEQ)
-sem_Token (TGEQ) =
-    (sem_Token_TGEQ)
-sem_Token (TLT) =
-    (sem_Token_TLT)
-sem_Token (TGT) =
-    (sem_Token_TGT)
-sem_Token (Equals) =
-    (sem_Token_Equals)
-sem_Token (Concatenate) =
-    (sem_Token_Concatenate)
-sem_Token (Colon) =
-    (sem_Token_Colon)
-sem_Token (Dot) =
-    (sem_Token_Dot)
-sem_Token (Comma) =
-    (sem_Token_Comma)
-sem_Token (Hash) =
-    (sem_Token_Hash)
-sem_Token (Not) =
-    (sem_Token_Not)
-sem_Token (CNot) =
-    (sem_Token_CNot)
-sem_Token (And) =
-    (sem_Token_And)
-sem_Token (CAnd) =
-    (sem_Token_CAnd)
-sem_Token (Or) =
-    (sem_Token_Or)
-sem_Token (COr) =
-    (sem_Token_COr)
-sem_Token (Function) =
-    (sem_Token_Function)
-sem_Token (Local) =
-    (sem_Token_Local)
-sem_Token (If) =
-    (sem_Token_If)
-sem_Token (Then) =
-    (sem_Token_Then)
-sem_Token (Elseif) =
-    (sem_Token_Elseif)
-sem_Token (Else) =
-    (sem_Token_Else)
-sem_Token (For) =
-    (sem_Token_For)
-sem_Token (In) =
-    (sem_Token_In)
-sem_Token (Do) =
-    (sem_Token_Do)
-sem_Token (While) =
-    (sem_Token_While)
-sem_Token (Until) =
-    (sem_Token_Until)
-sem_Token (Repeat) =
-    (sem_Token_Repeat)
-sem_Token (Continue) =
-    (sem_Token_Continue)
-sem_Token (Break) =
-    (sem_Token_Break)
-sem_Token (Return) =
-    (sem_Token_Return)
-sem_Token (End) =
-    (sem_Token_End)
-sem_Token (LRound) =
-    (sem_Token_LRound)
-sem_Token (RRound) =
-    (sem_Token_RRound)
-sem_Token (LCurly) =
-    (sem_Token_LCurly)
-sem_Token (RCurly) =
-    (sem_Token_RCurly)
-sem_Token (LSquare) =
-    (sem_Token_LSquare)
-sem_Token (RSquare) =
-    (sem_Token_RSquare)
-sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =
-    (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)
-sem_Token (Identifier _ident) =
-    (sem_Token_Identifier _ident)
--- semantic domain
-type T_Token = SyntaxUsed ->
-               LintSettings ->
-               SyntaxUsed ->
-               SyntaxUsed ->
-               SyntaxUsed ->
-               SyntaxUsed ->
-               LineColPos ->
-               SyntaxUsed ->
-               SyntaxUsed ->
-               SyntaxUsed ->
-               ( SyntaxUsed,Token,([FilePath -> LintMessage]),SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([Issue]),([FilePath -> LintMessage]))
-data Inh_Token = Inh_Token {andSyntax_Inh_Token :: SyntaxUsed,config_Inh_Token :: LintSettings,indentation_Inh_Token :: SyntaxUsed,lineCommentSyntax_Inh_Token :: SyntaxUsed,multilineCommentSyntax_Inh_Token :: SyntaxUsed,neqSyntax_Inh_Token :: SyntaxUsed,nextTokenPos_Inh_Token :: LineColPos,notSyntax_Inh_Token :: SyntaxUsed,orSyntax_Inh_Token :: SyntaxUsed,strSyntax_Inh_Token :: SyntaxUsed}
-data Syn_Token = Syn_Token {andSyntax_Syn_Token :: SyntaxUsed,copy_Syn_Token :: Token,customWarnings_Syn_Token :: ([FilePath -> LintMessage]),indentation_Syn_Token :: SyntaxUsed,lineCommentSyntax_Syn_Token :: SyntaxUsed,multilineCommentSyntax_Syn_Token :: SyntaxUsed,neqSyntax_Syn_Token :: SyntaxUsed,nextTokenPos_Syn_Token :: LineColPos,notSyntax_Syn_Token :: SyntaxUsed,orSyntax_Syn_Token :: SyntaxUsed,strSyntax_Syn_Token :: SyntaxUsed,tokenWarnings_Syn_Token :: ([Issue]),warnings_Syn_Token :: ([FilePath -> LintMessage])}
-wrap_Token :: T_Token ->
-              Inh_Token ->
-              Syn_Token
-wrap_Token sem (Inh_Token _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
-    (let ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
-     in  (Syn_Token _lhsOandSyntax _lhsOcopy _lhsOcustomWarnings _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOtokenWarnings _lhsOwarnings))
-sem_Token_Whitespace :: String ->
-                        T_Token
-sem_Token_Whitespace space_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 859 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Whitespace space_
-                  {-# LINE 864 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 869 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 874 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _customWarnings_augmented_syn ->
-             (case (({-# LINE 117 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsInextTokenPos
-                     {-# LINE 879 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _curTokenPos ->
-              (case (({-# LINE 118 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      customAdvanceStr _curTokenPos     space_
-                      {-# LINE 884 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _nextTokenPos ->
-               (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       Region (indentationStart _curTokenPos     space_) _nextTokenPos
-                       {-# LINE 889 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _indentationRg ->
-                (case (({-# LINE 124 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        locateTrailingWhitespace _curTokenPos     space_
-                        {-# LINE 894 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _whitespaceStart ->
-                 (case (({-# LINE 125 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         endOfTrailingWhitespace _whitespaceStart
-                         {-# LINE 899 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _whitespaceEnd ->
-                  (case (({-# LINE 120 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIindentation <> SyntaxUsed (isInfixOf "\n " space_) (isInfixOf "\n\t" space_)
-                          {-# LINE 904 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _whitespaceUsed ->
-                   (case (({-# LINE 121 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           luaUsed _whitespaceUsed     && cUsed _whitespaceUsed
-                           {-# LINE 909 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _inconsistent ->
-                    (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            if not (lint_trailingWhitespace _lhsIconfig) || (not (isInfixOf " \n" space_) && not (isInfixOf "\t\n" space_)) then id else (:) $ mTokenWarning (Region (fst _whitespaceStart    ) _whitespaceEnd    ) TrailingWhitespace
-                            {-# LINE 914 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _customWarnings_augmented_f2 ->
-                     (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             if not (lint_whitespaceStyle _lhsIconfig) || not _inconsistent     then id else
-                               (:) $ mTokenWarning _indentationRg     InconsistentTabsSpaces
-                             {-# LINE 920 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _customWarnings_augmented_f1 ->
-                      (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              foldr ($) _customWarnings_augmented_syn [_customWarnings_augmented_f1, _customWarnings_augmented_f2]
-                              {-# LINE 925 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOcustomWarnings ->
-                       (case (({-# LINE 119 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               if _inconsistent     then mempty else _whitespaceUsed
-                               {-# LINE 930 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _indentation ->
-                        (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                _indentation
-                                {-# LINE 935 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _lhsOindentation ->
-                         (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 _lhsIlineCommentSyntax
-                                 {-# LINE 940 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOlineCommentSyntax ->
-                          (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  _lhsImultilineCommentSyntax
-                                  {-# LINE 945 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOmultilineCommentSyntax ->
-                           (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                   _lhsIneqSyntax
-                                   {-# LINE 950 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                   )) of
-                            { _lhsOneqSyntax ->
-                            (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                    _nextTokenPos
-                                    {-# LINE 955 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                    )) of
-                             { _lhsOnextTokenPos ->
-                             (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                     _lhsInotSyntax
-                                     {-# LINE 960 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                     )) of
-                              { _lhsOnotSyntax ->
-                              (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                      _lhsIorSyntax
-                                      {-# LINE 965 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                      )) of
-                               { _lhsOorSyntax ->
-                               (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                       _lhsIstrSyntax
-                                       {-# LINE 970 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                       )) of
-                                { _lhsOstrSyntax ->
-                                (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                        []
-                                        {-# LINE 975 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                        )) of
-                                 { _lhsOtokenWarnings ->
-                                 (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                         []
-                                         {-# LINE 980 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                         )) of
-                                  { _lhsOwarnings ->
-                                  ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_DashComment :: String ->
-                         T_Token
-sem_Token_DashComment comment_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 999 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  DashComment comment_
-                  {-# LINE 1004 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1009 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1014 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1019 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIlineCommentSyntax)
-                      {-# LINE 1024 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _consistent ->
-               (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       SyntaxUsed _consistent     False
-                       {-# LINE 1029 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lineCommentSyntax ->
-                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lineCommentSyntax
-                        {-# LINE 1034 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOlineCommentSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsImultilineCommentSyntax
-                         {-# LINE 1039 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOmultilineCommentSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIneqSyntax
-                          {-# LINE 1044 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           customAdvanceToken _lhsInextTokenPos _copy
-                           {-# LINE 1049 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOnextTokenPos ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsInotSyntax
-                            {-# LINE 1054 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 1059 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 1064 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 1069 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "--" "//"
-                                {-# LINE 1075 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 1080 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 1085 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_DashBlockComment :: Int ->
-                              String ->
-                              T_Token
-sem_Token_DashBlockComment depth_ comment_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1105 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  DashBlockComment depth_ comment_
-                  {-# LINE 1110 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1115 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1120 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1125 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1130 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 153 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsImultilineCommentSyntax)
-                       {-# LINE 1135 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _consistent ->
-                (case (({-# LINE 154 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        SyntaxUsed _consistent     False
-                        {-# LINE 1140 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _multilineCommentSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _multilineCommentSyntax
-                         {-# LINE 1145 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOmultilineCommentSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIneqSyntax
-                          {-# LINE 1150 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 151 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           showString "--[" . showString (replicate depth_ '-') . showChar '[' . showString comment_ . showChar ']' . showString (replicate depth_ '-') . showChar ']' $ ""
-                           {-# LINE 1155 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _str ->
-                    (case (({-# LINE 152 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            customAdvanceStr _lhsInextTokenPos _str
-                            {-# LINE 1160 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnextTokenPos ->
-                     (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsInotSyntax
-                             {-# LINE 1165 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOnotSyntax ->
-                      (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIorSyntax
-                              {-# LINE 1170 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOorSyntax ->
-                       (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               _lhsIstrSyntax
-                               {-# LINE 1175 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _lhsOstrSyntax ->
-                        (case (({-# LINE 155 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                []
-                                {-# LINE 1180 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_syn ->
-                         (case (({-# LINE 155 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 if _consistent     then id else
-                                    (:) $ SyntaxInconsistency "--[[ ]]" "/* */"
-                                 {-# LINE 1186 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _tokenWarnings_augmented_f1 ->
-                          (case (({-# LINE 155 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                  {-# LINE 1191 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOtokenWarnings ->
-                           (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                   []
-                                   {-# LINE 1196 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                   )) of
-                            { _lhsOwarnings ->
-                            ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_SlashComment :: String ->
-                          T_Token
-sem_Token_SlashComment comment_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1215 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  SlashComment comment_
-                  {-# LINE 1220 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1225 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1230 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1235 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 144 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIlineCommentSyntax)
-                      {-# LINE 1240 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _consistent ->
-               (case (({-# LINE 145 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       SyntaxUsed False _consistent
-                       {-# LINE 1245 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lineCommentSyntax ->
-                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lineCommentSyntax
-                        {-# LINE 1250 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOlineCommentSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsImultilineCommentSyntax
-                         {-# LINE 1255 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOmultilineCommentSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIneqSyntax
-                          {-# LINE 1260 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 143 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           customAdvanceToken _lhsInextTokenPos _copy
-                           {-# LINE 1265 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOnextTokenPos ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsInotSyntax
-                            {-# LINE 1270 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 1275 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 1280 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 146 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 1285 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 146 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "//" "--"
-                                {-# LINE 1291 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 146 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 1296 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 1301 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_SlashBlockComment :: String ->
-                               T_Token
-sem_Token_SlashBlockComment comment_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1320 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  SlashBlockComment comment_
-                  {-# LINE 1325 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1330 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1335 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1340 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1345 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 161 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsImultilineCommentSyntax)
-                       {-# LINE 1350 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _consistent ->
-                (case (({-# LINE 162 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        SyntaxUsed False _consistent
-                        {-# LINE 1355 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _multilineCommentSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _multilineCommentSyntax
-                         {-# LINE 1360 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOmultilineCommentSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIneqSyntax
-                          {-# LINE 1365 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 159 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           showString "/*" . showString comment_ . showString "*/" $ ""
-                           {-# LINE 1370 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _str ->
-                    (case (({-# LINE 160 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            customAdvanceStr _lhsInextTokenPos _str
-                            {-# LINE 1375 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnextTokenPos ->
-                     (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsInotSyntax
-                             {-# LINE 1380 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOnotSyntax ->
-                      (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIorSyntax
-                              {-# LINE 1385 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOorSyntax ->
-                       (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               _lhsIstrSyntax
-                               {-# LINE 1390 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _lhsOstrSyntax ->
-                        (case (({-# LINE 163 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                []
-                                {-# LINE 1395 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_syn ->
-                         (case (({-# LINE 163 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 if _consistent     then id else
-                                    (:) $ SyntaxInconsistency "/* */" "--[[ ]]"
-                                 {-# LINE 1401 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _tokenWarnings_augmented_f1 ->
-                          (case (({-# LINE 163 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                  {-# LINE 1406 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOtokenWarnings ->
-                           (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                   []
-                                   {-# LINE 1411 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                   )) of
-                            { _lhsOwarnings ->
-                            ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Semicolon :: T_Token
-sem_Token_Semicolon =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1429 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Semicolon
-                  {-# LINE 1434 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1439 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1444 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1449 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1454 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 1459 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 1464 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 1469 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 1474 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 1479 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 1484 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 1489 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 1494 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TNumber :: String ->
-                     T_Token
-sem_Token_TNumber num_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1513 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TNumber num_
-                  {-# LINE 1518 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1523 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1528 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1533 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1538 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 1543 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 1548 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 1553 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 1558 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 1563 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 1568 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 1573 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 1578 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_DQString :: String ->
-                      T_Token
-sem_Token_DQString str_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1597 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  DQString str_
-                  {-# LINE 1602 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1607 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1612 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1617 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1622 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 1627 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 1632 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 172 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceStr _lhsInextTokenPos str_
-                         {-# LINE 1637 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 1642 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 1647 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 170 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIstrSyntax)
-                            {-# LINE 1652 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _consistent ->
-                     (case (({-# LINE 171 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             SyntaxUsed _consistent     False
-                             {-# LINE 1657 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _strSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _strSyntax
-                              {-# LINE 1662 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 173 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 1667 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 173 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "double quoted strings" "single quoted strings"
-                                {-# LINE 1673 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 173 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 1678 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 1683 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_SQString :: String ->
-                      T_Token
-sem_Token_SQString str_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1702 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  SQString str_
-                  {-# LINE 1707 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1712 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1717 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1722 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1727 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 1732 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 1737 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 179 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceStr _lhsInextTokenPos str_
-                         {-# LINE 1742 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 1747 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 1752 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 177 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIstrSyntax) || isSingleChar str_
-                            {-# LINE 1757 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _consistent ->
-                     (case (({-# LINE 178 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             SyntaxUsed False (_consistent     && not (isSingleChar str_))
-                             {-# LINE 1762 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _strSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _strSyntax
-                              {-# LINE 1767 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 180 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 1772 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 180 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "single quoted strings" "double quoted strings"
-                                {-# LINE 1778 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 180 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 1783 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 1788 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_MLString :: String ->
-                      T_Token
-sem_Token_MLString str_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1807 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  MLString str_
-                  {-# LINE 1812 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1817 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1822 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1827 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1832 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 1837 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 1842 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 184 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceStr _lhsInextTokenPos str_
-                         {-# LINE 1847 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 1852 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 1857 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 1862 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 1867 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 1872 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TTrue :: T_Token
-sem_Token_TTrue =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1890 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TTrue
-                  {-# LINE 1895 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1900 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1905 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1910 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1915 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 1920 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 1925 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 1930 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 1935 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 1940 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 1945 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 1950 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 1955 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TFalse :: T_Token
-sem_Token_TFalse =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 1973 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TFalse
-                  {-# LINE 1978 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 1983 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 1988 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 1993 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 1998 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2003 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2008 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2013 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2018 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2023 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2028 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2033 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2038 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Nil :: T_Token
-sem_Token_Nil =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2056 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Nil
-                  {-# LINE 2061 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2066 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2071 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2076 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2081 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2086 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2091 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2096 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2101 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2106 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2111 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2116 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2121 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_VarArg :: T_Token
-sem_Token_VarArg =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2139 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  VarArg
-                  {-# LINE 2144 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2149 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2154 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2159 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2164 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2169 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2174 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2179 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2184 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2189 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2194 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2199 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2204 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Plus :: T_Token
-sem_Token_Plus =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2222 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Plus
-                  {-# LINE 2227 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2232 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2237 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2242 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2247 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2252 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2257 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2262 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2267 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2272 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2277 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2282 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2287 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Minus :: T_Token
-sem_Token_Minus =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2305 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Minus
-                  {-# LINE 2310 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2315 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2320 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2325 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2330 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2335 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2340 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2345 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2350 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2355 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2360 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2365 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2370 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Multiply :: T_Token
-sem_Token_Multiply =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2388 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Multiply
-                  {-# LINE 2393 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2398 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2403 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2408 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2413 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2418 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2423 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2428 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2433 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2438 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2443 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2448 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2453 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Divide :: T_Token
-sem_Token_Divide =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2471 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Divide
-                  {-# LINE 2476 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2481 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2486 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2491 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2496 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2501 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2506 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2511 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2516 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2521 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2526 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2531 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2536 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Modulus :: T_Token
-sem_Token_Modulus =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2554 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Modulus
-                  {-# LINE 2559 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2564 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2569 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2574 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2579 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2584 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2589 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2594 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2599 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2604 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2609 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2614 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2619 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Power :: T_Token
-sem_Token_Power =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2637 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Power
-                  {-# LINE 2642 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2647 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2652 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2657 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2662 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2667 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2672 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2677 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2682 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2687 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2692 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2697 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2702 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TEq :: T_Token
-sem_Token_TEq =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2720 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TEq
-                  {-# LINE 2725 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2730 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2735 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2740 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2745 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2750 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 2755 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 2760 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 2765 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 2770 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 2775 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 2780 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 2785 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TNEq :: T_Token
-sem_Token_TNEq =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2803 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TNEq
-                  {-# LINE 2808 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2813 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2818 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2823 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2828 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2833 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 223 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIneqSyntax)
-                        {-# LINE 2838 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _consistent ->
-                 (case (({-# LINE 224 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         SyntaxUsed _consistent     False
-                         {-# LINE 2843 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _neqSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _neqSyntax
-                          {-# LINE 2848 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           customAdvanceToken _lhsInextTokenPos _copy
-                           {-# LINE 2853 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOnextTokenPos ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsInotSyntax
-                            {-# LINE 2858 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 2863 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 2868 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 225 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 2873 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 225 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "~=" "!="
-                                {-# LINE 2879 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 225 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 2884 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 2889 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TCNEq :: T_Token
-sem_Token_TCNEq =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 2907 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TCNEq
-                  {-# LINE 2912 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 2917 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 2922 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 2927 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 2932 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 2937 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 229 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIneqSyntax)
-                        {-# LINE 2942 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _consistent ->
-                 (case (({-# LINE 230 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         SyntaxUsed False _consistent
-                         {-# LINE 2947 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _neqSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _neqSyntax
-                          {-# LINE 2952 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           customAdvanceToken _lhsInextTokenPos _copy
-                           {-# LINE 2957 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOnextTokenPos ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsInotSyntax
-                            {-# LINE 2962 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 2967 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 2972 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 231 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 2977 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 231 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "!=" "~="
-                                {-# LINE 2983 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 231 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 2988 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 2993 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TLEQ :: T_Token
-sem_Token_TLEQ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3011 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TLEQ
-                  {-# LINE 3016 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3021 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3026 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3031 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3036 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3041 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3046 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3051 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3056 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3061 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3066 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3071 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3076 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TGEQ :: T_Token
-sem_Token_TGEQ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3094 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TGEQ
-                  {-# LINE 3099 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3104 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3109 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3114 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3119 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3124 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3129 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3134 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3139 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3144 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3149 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3154 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3159 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TLT :: T_Token
-sem_Token_TLT =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3177 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TLT
-                  {-# LINE 3182 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3187 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3192 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3197 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3202 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3207 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3212 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3217 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3222 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3227 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3232 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3237 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3242 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_TGT :: T_Token
-sem_Token_TGT =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3260 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  TGT
-                  {-# LINE 3265 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3270 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3275 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3280 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3285 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3290 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3295 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3300 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3305 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3310 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3315 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3320 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3325 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Equals :: T_Token
-sem_Token_Equals =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3343 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Equals
-                  {-# LINE 3348 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3353 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3358 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3363 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3368 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3373 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3378 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3383 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3388 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3393 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3398 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3403 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3408 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Concatenate :: T_Token
-sem_Token_Concatenate =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3426 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Concatenate
-                  {-# LINE 3431 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3436 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3441 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3446 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3451 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3456 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3461 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3466 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3471 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3476 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3481 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3486 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3491 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Colon :: T_Token
-sem_Token_Colon =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3509 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Colon
-                  {-# LINE 3514 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3519 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3524 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3529 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3534 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3539 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3544 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3549 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3554 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3559 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3564 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3569 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3574 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Dot :: T_Token
-sem_Token_Dot =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3592 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Dot
-                  {-# LINE 3597 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3602 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3607 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3612 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3617 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3622 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3627 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3632 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3637 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3642 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3647 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3652 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3657 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Comma :: T_Token
-sem_Token_Comma =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3675 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Comma
-                  {-# LINE 3680 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3685 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3690 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3695 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3700 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3705 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3710 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3715 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3720 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3725 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3730 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3735 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3740 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Hash :: T_Token
-sem_Token_Hash =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3758 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Hash
-                  {-# LINE 3763 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3768 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3773 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3778 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3783 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3788 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3793 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3798 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 3803 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 3808 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 3813 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 3818 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 3823 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Not :: T_Token
-sem_Token_Not =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3841 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Not
-                  {-# LINE 3846 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3851 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3856 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3861 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3866 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3871 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3876 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3881 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 187 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsInotSyntax)
-                          {-# LINE 3886 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _consistent ->
-                   (case (({-# LINE 188 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           SyntaxUsed _consistent     False
-                           {-# LINE 3891 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _notSyntax ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _notSyntax
-                            {-# LINE 3896 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 3901 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 3906 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 3911 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "not" "!"
-                                {-# LINE 3917 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 3922 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 3927 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_CNot :: T_Token
-sem_Token_CNot =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 3945 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  CNot
-                  {-# LINE 3950 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 3955 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 3960 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 3965 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 3970 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 3975 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 3980 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 3985 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 193 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsInotSyntax)
-                          {-# LINE 3990 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _consistent ->
-                   (case (({-# LINE 194 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           SyntaxUsed False _consistent
-                           {-# LINE 3995 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _notSyntax ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _notSyntax
-                            {-# LINE 4000 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 4005 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 4010 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 195 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 4015 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 195 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "!" "not"
-                                {-# LINE 4021 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 195 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 4026 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 4031 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_And :: T_Token
-sem_Token_And =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 199 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIandSyntax)
-                 {-# LINE 4049 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _consistent ->
-          (case (({-# LINE 200 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  SyntaxUsed _consistent     False
-                  {-# LINE 4054 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _andSyntax ->
-           (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _andSyntax
-                   {-# LINE 4059 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOandSyntax ->
-            (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    And
-                    {-# LINE 4064 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _copy ->
-             (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _copy
-                     {-# LINE 4069 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOcopy ->
-              (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      []
-                      {-# LINE 4074 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOcustomWarnings ->
-               (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsIindentation
-                       {-# LINE 4079 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOindentation ->
-                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIlineCommentSyntax
-                        {-# LINE 4084 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOlineCommentSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsImultilineCommentSyntax
-                         {-# LINE 4089 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOmultilineCommentSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIneqSyntax
-                          {-# LINE 4094 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           customAdvanceToken _lhsInextTokenPos _copy
-                           {-# LINE 4099 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOnextTokenPos ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsInotSyntax
-                            {-# LINE 4104 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 4109 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 4114 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 201 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 4119 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 201 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "and" "&&"
-                                {-# LINE 4125 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 201 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 4130 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 4135 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_CAnd :: T_Token
-sem_Token_CAnd =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 205 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIandSyntax)
-                 {-# LINE 4153 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _consistent ->
-          (case (({-# LINE 206 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  SyntaxUsed False _consistent
-                  {-# LINE 4158 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _andSyntax ->
-           (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _andSyntax
-                   {-# LINE 4163 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOandSyntax ->
-            (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    CAnd
-                    {-# LINE 4168 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _copy ->
-             (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _copy
-                     {-# LINE 4173 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOcopy ->
-              (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      []
-                      {-# LINE 4178 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOcustomWarnings ->
-               (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsIindentation
-                       {-# LINE 4183 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOindentation ->
-                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIlineCommentSyntax
-                        {-# LINE 4188 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOlineCommentSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsImultilineCommentSyntax
-                         {-# LINE 4193 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOmultilineCommentSyntax ->
-                  (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIneqSyntax
-                          {-# LINE 4198 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOneqSyntax ->
-                   (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           customAdvanceToken _lhsInextTokenPos _copy
-                           {-# LINE 4203 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOnextTokenPos ->
-                    (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsInotSyntax
-                            {-# LINE 4208 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOnotSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _lhsIorSyntax
-                             {-# LINE 4213 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 4218 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 4223 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "&&" "and"
-                                {-# LINE 4229 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 4234 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 4239 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Or :: T_Token
-sem_Token_Or =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4257 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Or
-                  {-# LINE 4262 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4267 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4272 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4277 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4282 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4287 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4292 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4297 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4302 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 211 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIorSyntax)
-                           {-# LINE 4307 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _consistent ->
-                    (case (({-# LINE 212 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            SyntaxUsed _consistent     False
-                            {-# LINE 4312 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _orSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _orSyntax
-                             {-# LINE 4317 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 4322 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 213 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 4327 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 213 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "or" "||"
-                                {-# LINE 4333 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 213 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 4338 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 4343 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_COr :: T_Token
-sem_Token_COr =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4361 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  COr
-                  {-# LINE 4366 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4371 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4376 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4381 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4386 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4391 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4396 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4401 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4406 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 217 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIorSyntax)
-                           {-# LINE 4411 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _consistent ->
-                    (case (({-# LINE 218 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            SyntaxUsed False _consistent
-                            {-# LINE 4416 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _orSyntax ->
-                     (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             _orSyntax
-                             {-# LINE 4421 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOorSyntax ->
-                      (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              _lhsIstrSyntax
-                              {-# LINE 4426 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOstrSyntax ->
-                       (case (({-# LINE 219 "src/GLuaFixer/AG/LexLint.ag" #-}
-                               []
-                               {-# LINE 4431 "src/GLuaFixer/AG/LexLint.hs" #-}
-                               )) of
-                        { _tokenWarnings_augmented_syn ->
-                        (case (({-# LINE 219 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                if _consistent     then id else
-                                   (:) $ SyntaxInconsistency "||" "or"
-                                {-# LINE 4437 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                )) of
-                         { _tokenWarnings_augmented_f1 ->
-                         (case (({-# LINE 219 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
-                                 {-# LINE 4442 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _lhsOtokenWarnings ->
-                          (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  []
-                                  {-# LINE 4447 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _lhsOwarnings ->
-                           ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Function :: T_Token
-sem_Token_Function =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4465 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Function
-                  {-# LINE 4470 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4475 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4480 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4485 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4490 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4495 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4500 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4505 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4510 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 4515 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 4520 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 4525 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 4530 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Local :: T_Token
-sem_Token_Local =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4548 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Local
-                  {-# LINE 4553 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4558 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4563 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4568 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4573 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4578 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4583 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4588 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4593 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 4598 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 4603 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 4608 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 4613 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_If :: T_Token
-sem_Token_If =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4631 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  If
-                  {-# LINE 4636 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4641 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4646 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4651 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4656 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4661 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4666 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4671 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4676 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 4681 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 4686 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 4691 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 4696 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Then :: T_Token
-sem_Token_Then =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4714 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Then
-                  {-# LINE 4719 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4724 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4729 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4734 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4739 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4744 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4749 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4754 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4759 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 4764 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 4769 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 4774 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 4779 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Elseif :: T_Token
-sem_Token_Elseif =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4797 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Elseif
-                  {-# LINE 4802 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4807 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4812 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4817 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4822 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4827 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4832 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4837 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4842 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 4847 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 4852 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 4857 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 4862 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Else :: T_Token
-sem_Token_Else =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4880 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Else
-                  {-# LINE 4885 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4890 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4895 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4900 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4905 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4910 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4915 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 4920 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 4925 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 4930 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 4935 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 4940 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 4945 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_For :: T_Token
-sem_Token_For =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 4963 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  For
-                  {-# LINE 4968 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 4973 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 4978 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 4983 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 4988 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 4993 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 4998 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5003 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5008 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5013 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5018 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5023 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5028 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_In :: T_Token
-sem_Token_In =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5046 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  In
-                  {-# LINE 5051 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5056 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5061 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5066 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5071 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5076 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5081 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5086 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5091 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5096 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5101 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5106 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5111 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Do :: T_Token
-sem_Token_Do =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5129 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Do
-                  {-# LINE 5134 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5139 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5144 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5149 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5154 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5159 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5164 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5169 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5174 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5179 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5184 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5189 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5194 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_While :: T_Token
-sem_Token_While =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5212 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  While
-                  {-# LINE 5217 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5222 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5227 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5232 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5237 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5242 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5247 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5252 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5257 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5262 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5267 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5272 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5277 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Until :: T_Token
-sem_Token_Until =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5295 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Until
-                  {-# LINE 5300 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5305 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5310 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5315 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5320 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5325 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5330 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5335 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5340 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5345 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5350 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5355 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5360 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Repeat :: T_Token
-sem_Token_Repeat =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5378 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Repeat
-                  {-# LINE 5383 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5388 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5393 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5398 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5403 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5408 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5413 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5418 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5423 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5428 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5433 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5438 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5443 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Continue :: T_Token
-sem_Token_Continue =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5461 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Continue
-                  {-# LINE 5466 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5471 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5476 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5481 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5486 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5491 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5496 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5501 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5506 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5511 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5516 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5521 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5526 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Break :: T_Token
-sem_Token_Break =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5544 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Break
-                  {-# LINE 5549 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5554 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5559 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5564 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5569 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5574 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5579 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5584 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5589 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5594 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5599 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5604 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5609 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Return :: T_Token
-sem_Token_Return =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5627 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Return
-                  {-# LINE 5632 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5637 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5642 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5647 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5652 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5657 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5662 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5667 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5672 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5677 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5682 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5687 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5692 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_End :: T_Token
-sem_Token_End =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5710 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  End
-                  {-# LINE 5715 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5720 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5725 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5730 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5735 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5740 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5745 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5750 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5755 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5760 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5765 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5770 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5775 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_LRound :: T_Token
-sem_Token_LRound =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5793 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  LRound
-                  {-# LINE 5798 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5803 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5808 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5813 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5818 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5823 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5828 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5833 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5838 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5843 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5848 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5853 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5858 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_RRound :: T_Token
-sem_Token_RRound =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5876 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  RRound
-                  {-# LINE 5881 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5886 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5891 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5896 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5901 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5906 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5911 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5916 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 5921 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 5926 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 5931 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 5936 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 5941 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_LCurly :: T_Token
-sem_Token_LCurly =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 5959 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  LCurly
-                  {-# LINE 5964 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 5969 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 5974 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 5979 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 5984 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 5989 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 5994 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 5999 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 6004 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 6009 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 6014 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6019 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 6024 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_RCurly :: T_Token
-sem_Token_RCurly =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 6042 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  RCurly
-                  {-# LINE 6047 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 6052 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 6057 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 6062 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 6067 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 6072 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 6077 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 6082 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 6087 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 6092 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 6097 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6102 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 6107 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_LSquare :: T_Token
-sem_Token_LSquare =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 6125 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  LSquare
-                  {-# LINE 6130 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 6135 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 6140 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 6145 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 6150 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 6155 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 6160 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 6165 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 6170 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 6175 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 6180 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6185 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 6190 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_RSquare :: T_Token
-sem_Token_RSquare =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 6208 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  RSquare
-                  {-# LINE 6213 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 6218 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 6223 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 6228 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 6233 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 6238 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 6243 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 6248 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 6253 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 6258 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 6263 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6268 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 6273 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Label :: String ->
-                   String ->
-                   String ->
-                   T_Token
-sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 6294 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Label whitespaceBefore_ lbl_ whitespaceAfter_
-                  {-# LINE 6299 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 6304 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 6309 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 6314 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 6319 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 6324 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 6329 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 235 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceStr _lhsInextTokenPos (show _copy    )
-                         {-# LINE 6334 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 6339 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 6344 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 6349 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6354 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 6359 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_Token_Identifier :: String ->
-                        T_Token
-sem_Token_Identifier ident_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 6378 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  Identifier ident_
-                  {-# LINE 6383 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 6388 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 96 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    []
-                    {-# LINE 6393 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOcustomWarnings ->
-             (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIindentation
-                     {-# LINE 6398 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOindentation ->
-              (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsIlineCommentSyntax
-                      {-# LINE 6403 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOlineCommentSyntax ->
-               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsImultilineCommentSyntax
-                       {-# LINE 6408 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOmultilineCommentSyntax ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 6413 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOneqSyntax ->
-                 (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         customAdvanceToken _lhsInextTokenPos _copy
-                         {-# LINE 6418 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnextTokenPos ->
-                  (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsInotSyntax
-                          {-# LINE 6423 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOnotSyntax ->
-                   (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIorSyntax
-                           {-# LINE 6428 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOorSyntax ->
-                    (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            _lhsIstrSyntax
-                            {-# LINE 6433 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOstrSyntax ->
-                     (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6438 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOtokenWarnings ->
-                      (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                              []
-                              {-# LINE 6443 "src/GLuaFixer/AG/LexLint.hs" #-}
-                              )) of
-                       { _lhsOwarnings ->
-                       ( _lhsOandSyntax,_lhsOcopy,_lhsOcustomWarnings,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
--- TokenList ---------------------------------------------------
--- cata
-sem_TokenList :: TokenList ->
-                 T_TokenList
-sem_TokenList list =
-    (Prelude.foldr sem_TokenList_Cons sem_TokenList_Nil (Prelude.map sem_Token list))
--- semantic domain
-type T_TokenList = SyntaxUsed ->
-                   LintSettings ->
-                   SyntaxUsed ->
-                   SyntaxUsed ->
-                   SyntaxUsed ->
-                   SyntaxUsed ->
-                   LineColPos ->
-                   SyntaxUsed ->
-                   SyntaxUsed ->
-                   SyntaxUsed ->
-                   ( SyntaxUsed,TokenList,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([Issue]),([FilePath -> LintMessage]))
-data Inh_TokenList = Inh_TokenList {andSyntax_Inh_TokenList :: SyntaxUsed,config_Inh_TokenList :: LintSettings,indentation_Inh_TokenList :: SyntaxUsed,lineCommentSyntax_Inh_TokenList :: SyntaxUsed,multilineCommentSyntax_Inh_TokenList :: SyntaxUsed,neqSyntax_Inh_TokenList :: SyntaxUsed,nextTokenPos_Inh_TokenList :: LineColPos,notSyntax_Inh_TokenList :: SyntaxUsed,orSyntax_Inh_TokenList :: SyntaxUsed,strSyntax_Inh_TokenList :: SyntaxUsed}
-data Syn_TokenList = Syn_TokenList {andSyntax_Syn_TokenList :: SyntaxUsed,copy_Syn_TokenList :: TokenList,indentation_Syn_TokenList :: SyntaxUsed,lineCommentSyntax_Syn_TokenList :: SyntaxUsed,multilineCommentSyntax_Syn_TokenList :: SyntaxUsed,neqSyntax_Syn_TokenList :: SyntaxUsed,nextTokenPos_Syn_TokenList :: LineColPos,notSyntax_Syn_TokenList :: SyntaxUsed,orSyntax_Syn_TokenList :: SyntaxUsed,strSyntax_Syn_TokenList :: SyntaxUsed,tokenWarnings_Syn_TokenList :: ([Issue]),warnings_Syn_TokenList :: ([FilePath -> LintMessage])}
-wrap_TokenList :: T_TokenList ->
-                  Inh_TokenList ->
-                  Syn_TokenList
-wrap_TokenList sem (Inh_TokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
-    (let ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
-     in  (Syn_TokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOtokenWarnings _lhsOwarnings))
-sem_TokenList_Cons :: T_Token ->
-                      T_TokenList ->
-                      T_TokenList
-sem_TokenList_Cons hd_ tl_ =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 77 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIconfig
-                 {-# LINE 6489 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _tlOconfig ->
-          (case (({-# LINE 77 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  _lhsIconfig
-                  {-# LINE 6494 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _hdOconfig ->
-           (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _lhsIandSyntax
-                   {-# LINE 6499 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _hdOandSyntax ->
-            (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    _lhsIstrSyntax
-                    {-# LINE 6504 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _hdOstrSyntax ->
-             (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIorSyntax
-                     {-# LINE 6509 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _hdOorSyntax ->
-              (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsInotSyntax
-                      {-# LINE 6514 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _hdOnotSyntax ->
-               (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsInextTokenPos
-                       {-# LINE 6519 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _hdOnextTokenPos ->
-                (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsIneqSyntax
-                        {-# LINE 6524 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _hdOneqSyntax ->
-                 (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsImultilineCommentSyntax
-                         {-# LINE 6529 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _hdOmultilineCommentSyntax ->
-                  (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIlineCommentSyntax
-                          {-# LINE 6534 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _hdOlineCommentSyntax ->
-                   (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIindentation
-                           {-# LINE 6539 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _hdOindentation ->
-                    (case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of
-                     { ( _hdIandSyntax,_hdIcopy,_hdIcustomWarnings,_hdIindentation,_hdIlineCommentSyntax,_hdImultilineCommentSyntax,_hdIneqSyntax,_hdInextTokenPos,_hdInotSyntax,_hdIorSyntax,_hdIstrSyntax,_hdItokenWarnings,_hdIwarnings) ->
-                         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                 _hdIandSyntax
-                                 {-# LINE 6546 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                 )) of
-                          { _tlOandSyntax ->
-                          (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                  _hdIstrSyntax
-                                  {-# LINE 6551 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                  )) of
-                           { _tlOstrSyntax ->
-                           (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                   _hdIorSyntax
-                                   {-# LINE 6556 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                   )) of
-                            { _tlOorSyntax ->
-                            (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                    _hdInotSyntax
-                                    {-# LINE 6561 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                    )) of
-                             { _tlOnotSyntax ->
-                             (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                     _hdInextTokenPos
-                                     {-# LINE 6566 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                     )) of
-                              { _tlOnextTokenPos ->
-                              (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                      _hdIneqSyntax
-                                      {-# LINE 6571 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                      )) of
-                               { _tlOneqSyntax ->
-                               (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                       _hdImultilineCommentSyntax
-                                       {-# LINE 6576 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                       )) of
-                                { _tlOmultilineCommentSyntax ->
-                                (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                        _hdIlineCommentSyntax
-                                        {-# LINE 6581 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                        )) of
-                                 { _tlOlineCommentSyntax ->
-                                 (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                         _hdIindentation
-                                         {-# LINE 6586 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                         )) of
-                                  { _tlOindentation ->
-                                  (case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of
-                                   { ( _tlIandSyntax,_tlIcopy,_tlIindentation,_tlIlineCommentSyntax,_tlImultilineCommentSyntax,_tlIneqSyntax,_tlInextTokenPos,_tlInotSyntax,_tlIorSyntax,_tlIstrSyntax,_tlItokenWarnings,_tlIwarnings) ->
-                                       (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                               _tlIandSyntax
-                                               {-# LINE 6593 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                               )) of
-                                        { _lhsOandSyntax ->
-                                        (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                (:) _hdIcopy _tlIcopy
-                                                {-# LINE 6598 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                )) of
-                                         { _copy ->
-                                         (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                 _copy
-                                                 {-# LINE 6603 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                 )) of
-                                          { _lhsOcopy ->
-                                          (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                  _tlIindentation
-                                                  {-# LINE 6608 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                  )) of
-                                           { _lhsOindentation ->
-                                           (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                   _tlIlineCommentSyntax
-                                                   {-# LINE 6613 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                   )) of
-                                            { _lhsOlineCommentSyntax ->
-                                            (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                    _tlImultilineCommentSyntax
-                                                    {-# LINE 6618 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                    )) of
-                                             { _lhsOmultilineCommentSyntax ->
-                                             (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                     _tlIneqSyntax
-                                                     {-# LINE 6623 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                     )) of
-                                              { _lhsOneqSyntax ->
-                                              (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                      _tlInextTokenPos
-                                                      {-# LINE 6628 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                      )) of
-                                               { _lhsOnextTokenPos ->
-                                               (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                       _tlInotSyntax
-                                                       {-# LINE 6633 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                       )) of
-                                                { _lhsOnotSyntax ->
-                                                (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                        _tlIorSyntax
-                                                        {-# LINE 6638 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                        )) of
-                                                 { _lhsOorSyntax ->
-                                                 (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                         _tlIstrSyntax
-                                                         {-# LINE 6643 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                         )) of
-                                                  { _lhsOstrSyntax ->
-                                                  (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                          _hdItokenWarnings ++ _tlItokenWarnings
-                                                          {-# LINE 6648 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                          )) of
-                                                   { _lhsOtokenWarnings ->
-                                                   (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                                                           _hdIwarnings ++ _tlIwarnings
-                                                           {-# LINE 6653 "src/GLuaFixer/AG/LexLint.hs" #-}
-                                                           )) of
-                                                    { _lhsOwarnings ->
-                                                    ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
-sem_TokenList_Nil :: T_TokenList
-sem_TokenList_Nil =
-    (\ _lhsIandSyntax
-       _lhsIconfig
-       _lhsIindentation
-       _lhsIlineCommentSyntax
-       _lhsImultilineCommentSyntax
-       _lhsIneqSyntax
-       _lhsInextTokenPos
-       _lhsInotSyntax
-       _lhsIorSyntax
-       _lhsIstrSyntax ->
-         (case (({-# LINE 84 "src/GLuaFixer/AG/LexLint.ag" #-}
-                 _lhsIandSyntax
-                 {-# LINE 6671 "src/GLuaFixer/AG/LexLint.hs" #-}
-                 )) of
-          { _lhsOandSyntax ->
-          (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                  []
-                  {-# LINE 6676 "src/GLuaFixer/AG/LexLint.hs" #-}
-                  )) of
-           { _copy ->
-           (case (({-# LINE 76 "src/GLuaFixer/AG/LexLint.ag" #-}
-                   _copy
-                   {-# LINE 6681 "src/GLuaFixer/AG/LexLint.hs" #-}
-                   )) of
-            { _lhsOcopy ->
-            (case (({-# LINE 88 "src/GLuaFixer/AG/LexLint.ag" #-}
-                    _lhsIindentation
-                    {-# LINE 6686 "src/GLuaFixer/AG/LexLint.hs" #-}
-                    )) of
-             { _lhsOindentation ->
-             (case (({-# LINE 81 "src/GLuaFixer/AG/LexLint.ag" #-}
-                     _lhsIlineCommentSyntax
-                     {-# LINE 6691 "src/GLuaFixer/AG/LexLint.hs" #-}
-                     )) of
-              { _lhsOlineCommentSyntax ->
-              (case (({-# LINE 82 "src/GLuaFixer/AG/LexLint.ag" #-}
-                      _lhsImultilineCommentSyntax
-                      {-# LINE 6696 "src/GLuaFixer/AG/LexLint.hs" #-}
-                      )) of
-               { _lhsOmultilineCommentSyntax ->
-               (case (({-# LINE 86 "src/GLuaFixer/AG/LexLint.ag" #-}
-                       _lhsIneqSyntax
-                       {-# LINE 6701 "src/GLuaFixer/AG/LexLint.hs" #-}
-                       )) of
-                { _lhsOneqSyntax ->
-                (case (({-# LINE 90 "src/GLuaFixer/AG/LexLint.ag" #-}
-                        _lhsInextTokenPos
-                        {-# LINE 6706 "src/GLuaFixer/AG/LexLint.hs" #-}
-                        )) of
-                 { _lhsOnextTokenPos ->
-                 (case (({-# LINE 83 "src/GLuaFixer/AG/LexLint.ag" #-}
-                         _lhsInotSyntax
-                         {-# LINE 6711 "src/GLuaFixer/AG/LexLint.hs" #-}
-                         )) of
-                  { _lhsOnotSyntax ->
-                  (case (({-# LINE 85 "src/GLuaFixer/AG/LexLint.ag" #-}
-                          _lhsIorSyntax
-                          {-# LINE 6716 "src/GLuaFixer/AG/LexLint.hs" #-}
-                          )) of
-                   { _lhsOorSyntax ->
-                   (case (({-# LINE 87 "src/GLuaFixer/AG/LexLint.ag" #-}
-                           _lhsIstrSyntax
-                           {-# LINE 6721 "src/GLuaFixer/AG/LexLint.hs" #-}
-                           )) of
-                    { _lhsOstrSyntax ->
-                    (case (({-# LINE 93 "src/GLuaFixer/AG/LexLint.ag" #-}
-                            []
-                            {-# LINE 6726 "src/GLuaFixer/AG/LexLint.hs" #-}
-                            )) of
-                     { _lhsOtokenWarnings ->
-                     (case (({-# LINE 79 "src/GLuaFixer/AG/LexLint.ag" #-}
-                             []
-                             {-# LINE 6731 "src/GLuaFixer/AG/LexLint.hs" #-}
-                             )) of
-                      { _lhsOwarnings ->
-                      ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOtokenWarnings,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }))
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE DeriveGeneric #-}
+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
+
+-- UUAGC 0.9.55 (src/GLuaFixer/AG/LexLint.ag)
+module GLuaFixer.AG.LexLint (
+  lintWarnings,
+  fixedLexPositions,
+) where
+
+{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}
+
+import GHC.Generics
+import Text.ParserCombinators.UU.BasicInstances hiding (pos)
+{-# LINE 19 "src/GLuaFixer/AG/LexLint.hs" #-}
+
+{-# LINE 15 "src/GLuaFixer/AG/LexLint.ag" #-}
+
+import Data.List
+import GLua.AG.Token
+import GLua.TokenTypes
+import GLuaFixer.LintMessage
+import GLuaFixer.LintSettings
+{-# LINE 28 "src/GLuaFixer/AG/LexLint.hs" #-}
+{-# LINE 25 "src/GLuaFixer/AG/LexLint.ag" #-}
+
+----------------------------------------
+--  C-style / Lua-style syntax inconsistencies
+----------------------------------------
+-- For detecting the usage of Lua/C syntax inconsistently
+data SyntaxUsed = SyntaxUsed {luaUsed :: Bool, cUsed :: Bool} deriving (Show)
+
+instance Semigroup SyntaxUsed where
+  (SyntaxUsed l1 c1) <> (SyntaxUsed l2 c2) = SyntaxUsed (l1 || l2) (c1 || c2)
+
+-- Monoid instance
+instance Monoid SyntaxUsed where
+  mempty = SyntaxUsed False False
+
+mTokenWarning :: Region -> Issue -> FilePath -> LintMessage
+mTokenWarning pos issue = LintMessage LintWarning pos issue
+
+isSingleChar :: String -> Bool
+isSingleChar [] = True
+isSingleChar ('\\' : xs) = length xs == 1
+isSingleChar (_ : []) = True
+isSingleChar _ = False
+
+-- Locate the exact position of trailing whitespace
+locateTrailingWhitespace :: LineColPos -> String -> (LineColPos, String)
+locateTrailingWhitespace pos (' ' : xs) = (pos, xs)
+locateTrailingWhitespace pos ('\t' : xs) = (pos, xs)
+locateTrailingWhitespace pos (x : xs) = locateTrailingWhitespace (customAdvanceChr pos x) xs
+locateTrailingWhitespace pos [] = (pos, "")
+
+-- Locate the start of a line's indentation in a string of whitespace
+indentationStart :: LineColPos -> String -> LineColPos
+indentationStart pos = go pos pos
+  where
+    go :: LineColPos -> LineColPos -> String -> LineColPos
+    go _ cur ('\n' : xs) = let next = customAdvanceChr cur '\n' in go next next xs
+    go found cur (x : xs) = go found (customAdvanceChr cur x) xs
+    go found _ [] = found
+
+endOfTrailingWhitespace :: (LineColPos, String) -> LineColPos
+endOfTrailingWhitespace (pos, ('\n' : _)) = pos
+endOfTrailingWhitespace (pos, (x : xs)) = endOfTrailingWhitespace (customAdvanceChr pos x, xs)
+endOfTrailingWhitespace (pos, []) = pos
+
+{-# LINE 76 "src/GLuaFixer/AG/LexLint.hs" #-}
+
+{-# LINE 237 "src/GLuaFixer/AG/LexLint.ag" #-}
+
+inh_MTokenList :: LintSettings -> Inh_MTokenList
+inh_MTokenList conf =
+  Inh_MTokenList
+    { config_Inh_MTokenList = conf
+    , andSyntax_Inh_MTokenList = mempty
+    , indentation_Inh_MTokenList = mempty
+    , lineCommentSyntax_Inh_MTokenList = mempty
+    , multilineCommentSyntax_Inh_MTokenList = mempty
+    , neqSyntax_Inh_MTokenList = mempty
+    , notSyntax_Inh_MTokenList = mempty
+    , orSyntax_Inh_MTokenList = mempty
+    , strSyntax_Inh_MTokenList = mempty
+    , nextTokenPos_Inh_MTokenList = LineColPos 0 0 0
+    }
+
+lintWarnings :: LintSettings -> [MToken] -> [String -> LintMessage]
+lintWarnings conf p = warnings_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList conf))
+
+-- Necessary because uu-parsinglib's LineColPos walks over tabs as though they are 8 spaces. Note
+-- that this also applies when the code is lexed by the Parsec lexer.
+fixedLexPositions :: [MToken] -> [MToken]
+fixedLexPositions p = copy_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList defaultLintSettings))
+{-# LINE 104 "src/GLuaFixer/AG/LexLint.hs" #-}
+-- MToken ------------------------------------------------------
+-- cata
+sem_MToken
+  :: MToken
+  -> T_MToken
+sem_MToken (MToken _mpos _mtok) =
+  (sem_MToken_MToken (sem_Region _mpos) (sem_Token _mtok))
+
+-- semantic domain
+type T_MToken =
+  SyntaxUsed
+  -> LintSettings
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> LineColPos
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> (SyntaxUsed, MToken, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([FilePath -> LintMessage]))
+data Inh_MToken = Inh_MToken {andSyntax_Inh_MToken :: SyntaxUsed, config_Inh_MToken :: LintSettings, indentation_Inh_MToken :: SyntaxUsed, lineCommentSyntax_Inh_MToken :: SyntaxUsed, multilineCommentSyntax_Inh_MToken :: SyntaxUsed, neqSyntax_Inh_MToken :: SyntaxUsed, nextTokenPos_Inh_MToken :: LineColPos, notSyntax_Inh_MToken :: SyntaxUsed, orSyntax_Inh_MToken :: SyntaxUsed, strSyntax_Inh_MToken :: SyntaxUsed}
+data Syn_MToken = Syn_MToken {andSyntax_Syn_MToken :: SyntaxUsed, copy_Syn_MToken :: MToken, indentation_Syn_MToken :: SyntaxUsed, lineCommentSyntax_Syn_MToken :: SyntaxUsed, multilineCommentSyntax_Syn_MToken :: SyntaxUsed, neqSyntax_Syn_MToken :: SyntaxUsed, nextTokenPos_Syn_MToken :: LineColPos, notSyntax_Syn_MToken :: SyntaxUsed, orSyntax_Syn_MToken :: SyntaxUsed, strSyntax_Syn_MToken :: SyntaxUsed, warnings_Syn_MToken :: ([FilePath -> LintMessage])}
+wrap_MToken
+  :: T_MToken
+  -> Inh_MToken
+  -> Syn_MToken
+wrap_MToken sem (Inh_MToken _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
+  ( let
+      (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
+    in
+      (Syn_MToken _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings)
+  )
+sem_MToken_MToken
+  :: T_Region
+  -> T_Token
+  -> T_MToken
+sem_MToken_MToken mpos_ mtok_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIconfig
+                 )
+               ) of
+            _mtokOconfig ->
+              ( case ( ( _lhsIandSyntax
+                       )
+                     ) of
+                  _mposOandSyntax ->
+                    ( case ( ( _lhsIstrSyntax
+                             )
+                           ) of
+                        _mposOstrSyntax ->
+                          ( case ( ( _lhsIorSyntax
+                                   )
+                                 ) of
+                              _mposOorSyntax ->
+                                ( case ( ( _lhsInotSyntax
+                                         )
+                                       ) of
+                                    _mposOnotSyntax ->
+                                      ( case ( ( _lhsInextTokenPos
+                                               )
+                                             ) of
+                                          _mposOnextTokenPos ->
+                                            ( case ( ( _lhsIneqSyntax
+                                                     )
+                                                   ) of
+                                                _mposOneqSyntax ->
+                                                  ( case ( ( _lhsImultilineCommentSyntax
+                                                           )
+                                                         ) of
+                                                      _mposOmultilineCommentSyntax ->
+                                                        ( case ( ( _lhsIlineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _mposOlineCommentSyntax ->
+                                                              ( case ( ( _lhsIindentation
+                                                                       )
+                                                                     ) of
+                                                                  _mposOindentation ->
+                                                                    ( case ( ( _lhsIconfig
+                                                                             )
+                                                                           ) of
+                                                                        _mposOconfig ->
+                                                                          ( case (mpos_ _mposOandSyntax _mposOconfig _mposOindentation _mposOlineCommentSyntax _mposOmultilineCommentSyntax _mposOneqSyntax _mposOnextTokenPos _mposOnotSyntax _mposOorSyntax _mposOstrSyntax) of
+                                                                              (_mposIandSyntax, _mposIcopy, _mposIindentation, _mposIlineCommentSyntax, _mposImultilineCommentSyntax, _mposIneqSyntax, _mposInextTokenPos, _mposInotSyntax, _mposIorSyntax, _mposIstrSyntax, _mposIwarnings) ->
+                                                                                ( case ( ( _mposIandSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _mtokOandSyntax ->
+                                                                                      ( case ( ( _mposIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _mtokOstrSyntax ->
+                                                                                            ( case ( ( _mposIorSyntax
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _mtokOorSyntax ->
+                                                                                                  ( case ( ( _mposInotSyntax
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _mtokOnotSyntax ->
+                                                                                                        ( case ( ( _mposInextTokenPos
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _mtokOnextTokenPos ->
+                                                                                                              ( case ( ( _mposIneqSyntax
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _mtokOneqSyntax ->
+                                                                                                                    ( case ( ( _mposImultilineCommentSyntax
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _mtokOmultilineCommentSyntax ->
+                                                                                                                          ( case ( ( _mposIlineCommentSyntax
+                                                                                                                                   )
+                                                                                                                                 ) of
+                                                                                                                              _mtokOlineCommentSyntax ->
+                                                                                                                                ( case ( ( _mposIindentation
+                                                                                                                                         )
+                                                                                                                                       ) of
+                                                                                                                                    _mtokOindentation ->
+                                                                                                                                      ( case (mtok_ _mtokOandSyntax _mtokOconfig _mtokOindentation _mtokOlineCommentSyntax _mtokOmultilineCommentSyntax _mtokOneqSyntax _mtokOnextTokenPos _mtokOnotSyntax _mtokOorSyntax _mtokOstrSyntax) of
+                                                                                                                                          (_mtokIandSyntax, _mtokIcopy, _mtokIcustomWarnings, _mtokIindentation, _mtokIlineCommentSyntax, _mtokImultilineCommentSyntax, _mtokIneqSyntax, _mtokInextTokenPos, _mtokInotSyntax, _mtokIorSyntax, _mtokIstrSyntax, _mtokItokenWarnings, _mtokIwarnings) ->
+                                                                                                                                            ( case ( ( _mtokIandSyntax
+                                                                                                                                                     )
+                                                                                                                                                   ) of
+                                                                                                                                                _lhsOandSyntax ->
+                                                                                                                                                  ( case ( ( Region _lhsInextTokenPos (customAdvanceToken _lhsInextTokenPos _mtokIcopy)
+                                                                                                                                                           )
+                                                                                                                                                         ) of
+                                                                                                                                                      _mpos ->
+                                                                                                                                                        ( case ( ( MToken _mpos _mtokIcopy
+                                                                                                                                                                 )
+                                                                                                                                                               ) of
+                                                                                                                                                            _copy ->
+                                                                                                                                                              ( case ( ( _copy
+                                                                                                                                                                       )
+                                                                                                                                                                     ) of
+                                                                                                                                                                  _lhsOcopy ->
+                                                                                                                                                                    ( case ( ( _mtokIindentation
+                                                                                                                                                                             )
+                                                                                                                                                                           ) of
+                                                                                                                                                                        _lhsOindentation ->
+                                                                                                                                                                          ( case ( ( _mtokIlineCommentSyntax
+                                                                                                                                                                                   )
+                                                                                                                                                                                 ) of
+                                                                                                                                                                              _lhsOlineCommentSyntax ->
+                                                                                                                                                                                ( case ( ( _mtokImultilineCommentSyntax
+                                                                                                                                                                                         )
+                                                                                                                                                                                       ) of
+                                                                                                                                                                                    _lhsOmultilineCommentSyntax ->
+                                                                                                                                                                                      ( case ( ( _mtokIneqSyntax
+                                                                                                                                                                                               )
+                                                                                                                                                                                             ) of
+                                                                                                                                                                                          _lhsOneqSyntax ->
+                                                                                                                                                                                            ( case ( ( _mtokInextTokenPos
+                                                                                                                                                                                                     )
+                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                _lhsOnextTokenPos ->
+                                                                                                                                                                                                  ( case ( ( _mtokInotSyntax
+                                                                                                                                                                                                           )
+                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                      _lhsOnotSyntax ->
+                                                                                                                                                                                                        ( case ( ( _mtokIorSyntax
+                                                                                                                                                                                                                 )
+                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                            _lhsOorSyntax ->
+                                                                                                                                                                                                              ( case ( ( _mtokIstrSyntax
+                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                  _lhsOstrSyntax ->
+                                                                                                                                                                                                                    ( case ( ( _mtokIcustomWarnings ++ map (mTokenWarning _mpos) _mtokItokenWarnings
+                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                                                                                          (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)
+                                                                                                                                                                                                                    )
+                                                                                                                                                                                                              )
+                                                                                                                                                                                                        )
+                                                                                                                                                                                                  )
+                                                                                                                                                                                            )
+                                                                                                                                                                                      )
+                                                                                                                                                                                )
+                                                                                                                                                                          )
+                                                                                                                                                                    )
+                                                                                                                                                              )
+                                                                                                                                                        )
+                                                                                                                                                  )
+                                                                                                                                            )
+                                                                                                                                      )
+                                                                                                                                )
+                                                                                                                          )
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- MTokenList --------------------------------------------------
+-- cata
+sem_MTokenList
+  :: MTokenList
+  -> T_MTokenList
+sem_MTokenList list =
+  (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))
+
+-- semantic domain
+type T_MTokenList =
+  SyntaxUsed
+  -> LintSettings
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> LineColPos
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> (SyntaxUsed, MTokenList, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([FilePath -> LintMessage]))
+data Inh_MTokenList = Inh_MTokenList {andSyntax_Inh_MTokenList :: SyntaxUsed, config_Inh_MTokenList :: LintSettings, indentation_Inh_MTokenList :: SyntaxUsed, lineCommentSyntax_Inh_MTokenList :: SyntaxUsed, multilineCommentSyntax_Inh_MTokenList :: SyntaxUsed, neqSyntax_Inh_MTokenList :: SyntaxUsed, nextTokenPos_Inh_MTokenList :: LineColPos, notSyntax_Inh_MTokenList :: SyntaxUsed, orSyntax_Inh_MTokenList :: SyntaxUsed, strSyntax_Inh_MTokenList :: SyntaxUsed}
+data Syn_MTokenList = Syn_MTokenList {andSyntax_Syn_MTokenList :: SyntaxUsed, copy_Syn_MTokenList :: MTokenList, indentation_Syn_MTokenList :: SyntaxUsed, lineCommentSyntax_Syn_MTokenList :: SyntaxUsed, multilineCommentSyntax_Syn_MTokenList :: SyntaxUsed, neqSyntax_Syn_MTokenList :: SyntaxUsed, nextTokenPos_Syn_MTokenList :: LineColPos, notSyntax_Syn_MTokenList :: SyntaxUsed, orSyntax_Syn_MTokenList :: SyntaxUsed, strSyntax_Syn_MTokenList :: SyntaxUsed, warnings_Syn_MTokenList :: ([FilePath -> LintMessage])}
+wrap_MTokenList
+  :: T_MTokenList
+  -> Inh_MTokenList
+  -> Syn_MTokenList
+wrap_MTokenList sem (Inh_MTokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
+  ( let
+      (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
+    in
+      (Syn_MTokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings)
+  )
+sem_MTokenList_Cons
+  :: T_MToken
+  -> T_MTokenList
+  -> T_MTokenList
+sem_MTokenList_Cons hd_ tl_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIconfig
+                 )
+               ) of
+            _tlOconfig ->
+              ( case ( ( _lhsIconfig
+                       )
+                     ) of
+                  _hdOconfig ->
+                    ( case ( ( _lhsIandSyntax
+                             )
+                           ) of
+                        _hdOandSyntax ->
+                          ( case ( ( _lhsIstrSyntax
+                                   )
+                                 ) of
+                              _hdOstrSyntax ->
+                                ( case ( ( _lhsIorSyntax
+                                         )
+                                       ) of
+                                    _hdOorSyntax ->
+                                      ( case ( ( _lhsInotSyntax
+                                               )
+                                             ) of
+                                          _hdOnotSyntax ->
+                                            ( case ( ( _lhsInextTokenPos
+                                                     )
+                                                   ) of
+                                                _hdOnextTokenPos ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _hdOneqSyntax ->
+                                                        ( case ( ( _lhsImultilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _hdOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIlineCommentSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _hdOlineCommentSyntax ->
+                                                                    ( case ( ( _lhsIindentation
+                                                                             )
+                                                                           ) of
+                                                                        _hdOindentation ->
+                                                                          ( case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of
+                                                                              (_hdIandSyntax, _hdIcopy, _hdIindentation, _hdIlineCommentSyntax, _hdImultilineCommentSyntax, _hdIneqSyntax, _hdInextTokenPos, _hdInotSyntax, _hdIorSyntax, _hdIstrSyntax, _hdIwarnings) ->
+                                                                                ( case ( ( _hdIandSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _tlOandSyntax ->
+                                                                                      ( case ( ( _hdIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _tlOstrSyntax ->
+                                                                                            ( case ( ( _hdIorSyntax
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tlOorSyntax ->
+                                                                                                  ( case ( ( _hdInotSyntax
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tlOnotSyntax ->
+                                                                                                        ( case ( ( _hdInextTokenPos
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _tlOnextTokenPos ->
+                                                                                                              ( case ( ( _hdIneqSyntax
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _tlOneqSyntax ->
+                                                                                                                    ( case ( ( _hdImultilineCommentSyntax
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _tlOmultilineCommentSyntax ->
+                                                                                                                          ( case ( ( _hdIlineCommentSyntax
+                                                                                                                                   )
+                                                                                                                                 ) of
+                                                                                                                              _tlOlineCommentSyntax ->
+                                                                                                                                ( case ( ( _hdIindentation
+                                                                                                                                         )
+                                                                                                                                       ) of
+                                                                                                                                    _tlOindentation ->
+                                                                                                                                      ( case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of
+                                                                                                                                          (_tlIandSyntax, _tlIcopy, _tlIindentation, _tlIlineCommentSyntax, _tlImultilineCommentSyntax, _tlIneqSyntax, _tlInextTokenPos, _tlInotSyntax, _tlIorSyntax, _tlIstrSyntax, _tlIwarnings) ->
+                                                                                                                                            ( case ( ( _tlIandSyntax
+                                                                                                                                                     )
+                                                                                                                                                   ) of
+                                                                                                                                                _lhsOandSyntax ->
+                                                                                                                                                  ( case ( ( (:) _hdIcopy _tlIcopy
+                                                                                                                                                           )
+                                                                                                                                                         ) of
+                                                                                                                                                      _copy ->
+                                                                                                                                                        ( case ( ( _copy
+                                                                                                                                                                 )
+                                                                                                                                                               ) of
+                                                                                                                                                            _lhsOcopy ->
+                                                                                                                                                              ( case ( ( _tlIindentation
+                                                                                                                                                                       )
+                                                                                                                                                                     ) of
+                                                                                                                                                                  _lhsOindentation ->
+                                                                                                                                                                    ( case ( ( _tlIlineCommentSyntax
+                                                                                                                                                                             )
+                                                                                                                                                                           ) of
+                                                                                                                                                                        _lhsOlineCommentSyntax ->
+                                                                                                                                                                          ( case ( ( _tlImultilineCommentSyntax
+                                                                                                                                                                                   )
+                                                                                                                                                                                 ) of
+                                                                                                                                                                              _lhsOmultilineCommentSyntax ->
+                                                                                                                                                                                ( case ( ( _tlIneqSyntax
+                                                                                                                                                                                         )
+                                                                                                                                                                                       ) of
+                                                                                                                                                                                    _lhsOneqSyntax ->
+                                                                                                                                                                                      ( case ( ( _tlInextTokenPos
+                                                                                                                                                                                               )
+                                                                                                                                                                                             ) of
+                                                                                                                                                                                          _lhsOnextTokenPos ->
+                                                                                                                                                                                            ( case ( ( _tlInotSyntax
+                                                                                                                                                                                                     )
+                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                _lhsOnotSyntax ->
+                                                                                                                                                                                                  ( case ( ( _tlIorSyntax
+                                                                                                                                                                                                           )
+                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                      _lhsOorSyntax ->
+                                                                                                                                                                                                        ( case ( ( _tlIstrSyntax
+                                                                                                                                                                                                                 )
+                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                            _lhsOstrSyntax ->
+                                                                                                                                                                                                              ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                  _lhsOwarnings ->
+                                                                                                                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)
+                                                                                                                                                                                                              )
+                                                                                                                                                                                                        )
+                                                                                                                                                                                                  )
+                                                                                                                                                                                            )
+                                                                                                                                                                                      )
+                                                                                                                                                                                )
+                                                                                                                                                                          )
+                                                                                                                                                                    )
+                                                                                                                                                              )
+                                                                                                                                                        )
+                                                                                                                                                  )
+                                                                                                                                            )
+                                                                                                                                      )
+                                                                                                                                )
+                                                                                                                          )
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_MTokenList_Nil :: T_MTokenList
+sem_MTokenList_Nil =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( []
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( _lhsIindentation
+                                   )
+                                 ) of
+                              _lhsOindentation ->
+                                ( case ( ( _lhsIlineCommentSyntax
+                                         )
+                                       ) of
+                                    _lhsOlineCommentSyntax ->
+                                      ( case ( ( _lhsImultilineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOmultilineCommentSyntax ->
+                                            ( case ( ( _lhsIneqSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOneqSyntax ->
+                                                  ( case ( ( _lhsInextTokenPos
+                                                           )
+                                                         ) of
+                                                      _lhsOnextTokenPos ->
+                                                        ( case ( ( _lhsInotSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOnotSyntax ->
+                                                              ( case ( ( _lhsIorSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOorSyntax ->
+                                                                    ( case ( ( _lhsIstrSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOstrSyntax ->
+                                                                          ( case ( ( []
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOwarnings ->
+                                                                                (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- Region ------------------------------------------------------
+-- cata
+sem_Region
+  :: Region
+  -> T_Region
+sem_Region (Region _start _end) =
+  (sem_Region_Region _start _end)
+
+-- semantic domain
+type T_Region =
+  SyntaxUsed
+  -> LintSettings
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> LineColPos
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> (SyntaxUsed, Region, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([FilePath -> LintMessage]))
+data Inh_Region = Inh_Region {andSyntax_Inh_Region :: SyntaxUsed, config_Inh_Region :: LintSettings, indentation_Inh_Region :: SyntaxUsed, lineCommentSyntax_Inh_Region :: SyntaxUsed, multilineCommentSyntax_Inh_Region :: SyntaxUsed, neqSyntax_Inh_Region :: SyntaxUsed, nextTokenPos_Inh_Region :: LineColPos, notSyntax_Inh_Region :: SyntaxUsed, orSyntax_Inh_Region :: SyntaxUsed, strSyntax_Inh_Region :: SyntaxUsed}
+data Syn_Region = Syn_Region {andSyntax_Syn_Region :: SyntaxUsed, copy_Syn_Region :: Region, indentation_Syn_Region :: SyntaxUsed, lineCommentSyntax_Syn_Region :: SyntaxUsed, multilineCommentSyntax_Syn_Region :: SyntaxUsed, neqSyntax_Syn_Region :: SyntaxUsed, nextTokenPos_Syn_Region :: LineColPos, notSyntax_Syn_Region :: SyntaxUsed, orSyntax_Syn_Region :: SyntaxUsed, strSyntax_Syn_Region :: SyntaxUsed, warnings_Syn_Region :: ([FilePath -> LintMessage])}
+wrap_Region
+  :: T_Region
+  -> Inh_Region
+  -> Syn_Region
+wrap_Region sem (Inh_Region _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
+  ( let
+      (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
+    in
+      (Syn_Region _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings)
+  )
+sem_Region_Region
+  :: LineColPos
+  -> LineColPos
+  -> T_Region
+sem_Region_Region start_ end_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Region start_ end_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( _lhsIindentation
+                                   )
+                                 ) of
+                              _lhsOindentation ->
+                                ( case ( ( _lhsIlineCommentSyntax
+                                         )
+                                       ) of
+                                    _lhsOlineCommentSyntax ->
+                                      ( case ( ( _lhsImultilineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOmultilineCommentSyntax ->
+                                            ( case ( ( _lhsIneqSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOneqSyntax ->
+                                                  ( case ( ( _lhsInextTokenPos
+                                                           )
+                                                         ) of
+                                                      _lhsOnextTokenPos ->
+                                                        ( case ( ( _lhsInotSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOnotSyntax ->
+                                                              ( case ( ( _lhsIorSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOorSyntax ->
+                                                                    ( case ( ( _lhsIstrSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOstrSyntax ->
+                                                                          ( case ( ( []
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOwarnings ->
+                                                                                (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- Token -------------------------------------------------------
+-- cata
+sem_Token
+  :: Token
+  -> T_Token
+sem_Token (Whitespace _space) =
+  (sem_Token_Whitespace _space)
+sem_Token (DashComment _comment) =
+  (sem_Token_DashComment _comment)
+sem_Token (DashBlockComment _depth _comment) =
+  (sem_Token_DashBlockComment _depth _comment)
+sem_Token (SlashComment _comment) =
+  (sem_Token_SlashComment _comment)
+sem_Token (SlashBlockComment _comment) =
+  (sem_Token_SlashBlockComment _comment)
+sem_Token (Semicolon) =
+  (sem_Token_Semicolon)
+sem_Token (TNumber _num) =
+  (sem_Token_TNumber _num)
+sem_Token (DQString _str) =
+  (sem_Token_DQString _str)
+sem_Token (SQString _str) =
+  (sem_Token_SQString _str)
+sem_Token (MLString _str) =
+  (sem_Token_MLString _str)
+sem_Token (TTrue) =
+  (sem_Token_TTrue)
+sem_Token (TFalse) =
+  (sem_Token_TFalse)
+sem_Token (Nil) =
+  (sem_Token_Nil)
+sem_Token (VarArg) =
+  (sem_Token_VarArg)
+sem_Token (Plus) =
+  (sem_Token_Plus)
+sem_Token (Minus) =
+  (sem_Token_Minus)
+sem_Token (Multiply) =
+  (sem_Token_Multiply)
+sem_Token (Divide) =
+  (sem_Token_Divide)
+sem_Token (Modulus) =
+  (sem_Token_Modulus)
+sem_Token (Power) =
+  (sem_Token_Power)
+sem_Token (TEq) =
+  (sem_Token_TEq)
+sem_Token (TNEq) =
+  (sem_Token_TNEq)
+sem_Token (TCNEq) =
+  (sem_Token_TCNEq)
+sem_Token (TLEQ) =
+  (sem_Token_TLEQ)
+sem_Token (TGEQ) =
+  (sem_Token_TGEQ)
+sem_Token (TLT) =
+  (sem_Token_TLT)
+sem_Token (TGT) =
+  (sem_Token_TGT)
+sem_Token (Equals) =
+  (sem_Token_Equals)
+sem_Token (Concatenate) =
+  (sem_Token_Concatenate)
+sem_Token (Colon) =
+  (sem_Token_Colon)
+sem_Token (Dot) =
+  (sem_Token_Dot)
+sem_Token (Comma) =
+  (sem_Token_Comma)
+sem_Token (Hash) =
+  (sem_Token_Hash)
+sem_Token (Not) =
+  (sem_Token_Not)
+sem_Token (CNot) =
+  (sem_Token_CNot)
+sem_Token (And) =
+  (sem_Token_And)
+sem_Token (CAnd) =
+  (sem_Token_CAnd)
+sem_Token (Or) =
+  (sem_Token_Or)
+sem_Token (COr) =
+  (sem_Token_COr)
+sem_Token (Function) =
+  (sem_Token_Function)
+sem_Token (Local) =
+  (sem_Token_Local)
+sem_Token (If) =
+  (sem_Token_If)
+sem_Token (Then) =
+  (sem_Token_Then)
+sem_Token (Elseif) =
+  (sem_Token_Elseif)
+sem_Token (Else) =
+  (sem_Token_Else)
+sem_Token (For) =
+  (sem_Token_For)
+sem_Token (In) =
+  (sem_Token_In)
+sem_Token (Do) =
+  (sem_Token_Do)
+sem_Token (While) =
+  (sem_Token_While)
+sem_Token (Until) =
+  (sem_Token_Until)
+sem_Token (Repeat) =
+  (sem_Token_Repeat)
+sem_Token (Continue) =
+  (sem_Token_Continue)
+sem_Token (Break) =
+  (sem_Token_Break)
+sem_Token (Return) =
+  (sem_Token_Return)
+sem_Token (End) =
+  (sem_Token_End)
+sem_Token (LRound) =
+  (sem_Token_LRound)
+sem_Token (RRound) =
+  (sem_Token_RRound)
+sem_Token (LCurly) =
+  (sem_Token_LCurly)
+sem_Token (RCurly) =
+  (sem_Token_RCurly)
+sem_Token (LSquare) =
+  (sem_Token_LSquare)
+sem_Token (RSquare) =
+  (sem_Token_RSquare)
+sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =
+  (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)
+sem_Token (Identifier _ident) =
+  (sem_Token_Identifier _ident)
+
+-- semantic domain
+type T_Token =
+  SyntaxUsed
+  -> LintSettings
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> LineColPos
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> (SyntaxUsed, Token, ([FilePath -> LintMessage]), SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([Issue]), ([FilePath -> LintMessage]))
+data Inh_Token = Inh_Token {andSyntax_Inh_Token :: SyntaxUsed, config_Inh_Token :: LintSettings, indentation_Inh_Token :: SyntaxUsed, lineCommentSyntax_Inh_Token :: SyntaxUsed, multilineCommentSyntax_Inh_Token :: SyntaxUsed, neqSyntax_Inh_Token :: SyntaxUsed, nextTokenPos_Inh_Token :: LineColPos, notSyntax_Inh_Token :: SyntaxUsed, orSyntax_Inh_Token :: SyntaxUsed, strSyntax_Inh_Token :: SyntaxUsed}
+data Syn_Token = Syn_Token {andSyntax_Syn_Token :: SyntaxUsed, copy_Syn_Token :: Token, customWarnings_Syn_Token :: ([FilePath -> LintMessage]), indentation_Syn_Token :: SyntaxUsed, lineCommentSyntax_Syn_Token :: SyntaxUsed, multilineCommentSyntax_Syn_Token :: SyntaxUsed, neqSyntax_Syn_Token :: SyntaxUsed, nextTokenPos_Syn_Token :: LineColPos, notSyntax_Syn_Token :: SyntaxUsed, orSyntax_Syn_Token :: SyntaxUsed, strSyntax_Syn_Token :: SyntaxUsed, tokenWarnings_Syn_Token :: ([Issue]), warnings_Syn_Token :: ([FilePath -> LintMessage])}
+wrap_Token
+  :: T_Token
+  -> Inh_Token
+  -> Syn_Token
+wrap_Token sem (Inh_Token _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
+  ( let
+      (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
+    in
+      (Syn_Token _lhsOandSyntax _lhsOcopy _lhsOcustomWarnings _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOtokenWarnings _lhsOwarnings)
+  )
+sem_Token_Whitespace
+  :: String
+  -> T_Token
+sem_Token_Whitespace space_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Whitespace space_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _customWarnings_augmented_syn ->
+                                ( case ( ( _lhsInextTokenPos
+                                         )
+                                       ) of
+                                    _curTokenPos ->
+                                      ( case ( ( customAdvanceStr _curTokenPos space_
+                                               )
+                                             ) of
+                                          _nextTokenPos ->
+                                            ( case ( ( Region (indentationStart _curTokenPos space_) _nextTokenPos
+                                                     )
+                                                   ) of
+                                                _indentationRg ->
+                                                  ( case ( ( locateTrailingWhitespace _curTokenPos space_
+                                                           )
+                                                         ) of
+                                                      _whitespaceStart ->
+                                                        ( case ( ( endOfTrailingWhitespace _whitespaceStart
+                                                                 )
+                                                               ) of
+                                                            _whitespaceEnd ->
+                                                              ( case ( ( _lhsIindentation <> SyntaxUsed (isInfixOf "\n " space_) (isInfixOf "\n\t" space_)
+                                                                       )
+                                                                     ) of
+                                                                  _whitespaceUsed ->
+                                                                    ( case ( ( luaUsed _whitespaceUsed && cUsed _whitespaceUsed
+                                                                             )
+                                                                           ) of
+                                                                        _inconsistent ->
+                                                                          ( case ( ( if not (lint_trailingWhitespace _lhsIconfig) || (not (isInfixOf " \n" space_) && not (isInfixOf "\t\n" space_)) then id else (:) $ mTokenWarning (Region (fst _whitespaceStart) _whitespaceEnd) TrailingWhitespace
+                                                                                   )
+                                                                                 ) of
+                                                                              _customWarnings_augmented_f2 ->
+                                                                                ( case ( ( if not (lint_whitespaceStyle _lhsIconfig) || not _inconsistent
+                                                                                            then id
+                                                                                            else (:) $ mTokenWarning _indentationRg InconsistentTabsSpaces
+                                                                                         )
+                                                                                       ) of
+                                                                                    _customWarnings_augmented_f1 ->
+                                                                                      ( case ( ( foldr ($) _customWarnings_augmented_syn [_customWarnings_augmented_f1, _customWarnings_augmented_f2]
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOcustomWarnings ->
+                                                                                            ( case ( ( if _inconsistent then mempty else _whitespaceUsed
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _indentation ->
+                                                                                                  ( case ( ( _indentation
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _lhsOindentation ->
+                                                                                                        ( case ( ( _lhsIlineCommentSyntax
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOlineCommentSyntax ->
+                                                                                                              ( case ( ( _lhsImultilineCommentSyntax
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOmultilineCommentSyntax ->
+                                                                                                                    ( case ( ( _lhsIneqSyntax
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _lhsOneqSyntax ->
+                                                                                                                          ( case ( ( _nextTokenPos
+                                                                                                                                   )
+                                                                                                                                 ) of
+                                                                                                                              _lhsOnextTokenPos ->
+                                                                                                                                ( case ( ( _lhsInotSyntax
+                                                                                                                                         )
+                                                                                                                                       ) of
+                                                                                                                                    _lhsOnotSyntax ->
+                                                                                                                                      ( case ( ( _lhsIorSyntax
+                                                                                                                                               )
+                                                                                                                                             ) of
+                                                                                                                                          _lhsOorSyntax ->
+                                                                                                                                            ( case ( ( _lhsIstrSyntax
+                                                                                                                                                     )
+                                                                                                                                                   ) of
+                                                                                                                                                _lhsOstrSyntax ->
+                                                                                                                                                  ( case ( ( []
+                                                                                                                                                           )
+                                                                                                                                                         ) of
+                                                                                                                                                      _lhsOtokenWarnings ->
+                                                                                                                                                        ( case ( ( []
+                                                                                                                                                                 )
+                                                                                                                                                               ) of
+                                                                                                                                                            _lhsOwarnings ->
+                                                                                                                                                              (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                                                                        )
+                                                                                                                                                  )
+                                                                                                                                            )
+                                                                                                                                      )
+                                                                                                                                )
+                                                                                                                          )
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_DashComment
+  :: String
+  -> T_Token
+sem_Token_DashComment comment_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( DashComment comment_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIlineCommentSyntax)
+                                               )
+                                             ) of
+                                          _consistent ->
+                                            ( case ( ( SyntaxUsed _consistent False
+                                                     )
+                                                   ) of
+                                                _lineCommentSyntax ->
+                                                  ( case ( ( _lineCommentSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOlineCommentSyntax ->
+                                                        ( case ( ( _lhsImultilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIneqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOnextTokenPos ->
+                                                                          ( case ( ( _lhsInotSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "--" "//"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_DashBlockComment
+  :: Int
+  -> String
+  -> T_Token
+sem_Token_DashBlockComment depth_ comment_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( DashBlockComment depth_ comment_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsImultilineCommentSyntax)
+                                                     )
+                                                   ) of
+                                                _consistent ->
+                                                  ( case ( ( SyntaxUsed _consistent False
+                                                           )
+                                                         ) of
+                                                      _multilineCommentSyntax ->
+                                                        ( case ( ( _multilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIneqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( showString "--[" . showString (replicate depth_ '-') . showChar '[' . showString comment_ . showChar ']' . showString (replicate depth_ '-') . showChar ']' $ ""
+                                                                             )
+                                                                           ) of
+                                                                        _str ->
+                                                                          ( case ( ( customAdvanceStr _lhsInextTokenPos _str
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnextTokenPos ->
+                                                                                ( case ( ( _lhsInotSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOnotSyntax ->
+                                                                                      ( case ( ( _lhsIorSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOorSyntax ->
+                                                                                            ( case ( ( _lhsIstrSyntax
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _lhsOstrSyntax ->
+                                                                                                  ( case ( ( []
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_syn ->
+                                                                                                        ( case ( ( if _consistent
+                                                                                                                    then id
+                                                                                                                    else (:) $ SyntaxInconsistency "--[[ ]]" "/* */"
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _tokenWarnings_augmented_f1 ->
+                                                                                                              ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOtokenWarnings ->
+                                                                                                                    ( case ( ( []
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _lhsOwarnings ->
+                                                                                                                          (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_SlashComment
+  :: String
+  -> T_Token
+sem_Token_SlashComment comment_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( SlashComment comment_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIlineCommentSyntax)
+                                               )
+                                             ) of
+                                          _consistent ->
+                                            ( case ( ( SyntaxUsed False _consistent
+                                                     )
+                                                   ) of
+                                                _lineCommentSyntax ->
+                                                  ( case ( ( _lineCommentSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOlineCommentSyntax ->
+                                                        ( case ( ( _lhsImultilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIneqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOnextTokenPos ->
+                                                                          ( case ( ( _lhsInotSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "//" "--"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_SlashBlockComment
+  :: String
+  -> T_Token
+sem_Token_SlashBlockComment comment_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( SlashBlockComment comment_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsImultilineCommentSyntax)
+                                                     )
+                                                   ) of
+                                                _consistent ->
+                                                  ( case ( ( SyntaxUsed False _consistent
+                                                           )
+                                                         ) of
+                                                      _multilineCommentSyntax ->
+                                                        ( case ( ( _multilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIneqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( showString "/*" . showString comment_ . showString "*/" $ ""
+                                                                             )
+                                                                           ) of
+                                                                        _str ->
+                                                                          ( case ( ( customAdvanceStr _lhsInextTokenPos _str
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnextTokenPos ->
+                                                                                ( case ( ( _lhsInotSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOnotSyntax ->
+                                                                                      ( case ( ( _lhsIorSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOorSyntax ->
+                                                                                            ( case ( ( _lhsIstrSyntax
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _lhsOstrSyntax ->
+                                                                                                  ( case ( ( []
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_syn ->
+                                                                                                        ( case ( ( if _consistent
+                                                                                                                    then id
+                                                                                                                    else (:) $ SyntaxInconsistency "/* */" "--[[ ]]"
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _tokenWarnings_augmented_f1 ->
+                                                                                                              ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOtokenWarnings ->
+                                                                                                                    ( case ( ( []
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _lhsOwarnings ->
+                                                                                                                          (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Semicolon :: T_Token
+sem_Token_Semicolon =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Semicolon
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TNumber
+  :: String
+  -> T_Token
+sem_Token_TNumber num_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TNumber num_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_DQString
+  :: String
+  -> T_Token
+sem_Token_DQString str_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( DQString str_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceStr _lhsInextTokenPos str_
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIstrSyntax)
+                                                                                   )
+                                                                                 ) of
+                                                                              _consistent ->
+                                                                                ( case ( ( SyntaxUsed _consistent False
+                                                                                         )
+                                                                                       ) of
+                                                                                    _strSyntax ->
+                                                                                      ( case ( ( _strSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "double quoted strings" "single quoted strings"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_SQString
+  :: String
+  -> T_Token
+sem_Token_SQString str_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( SQString str_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceStr _lhsInextTokenPos str_
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIstrSyntax) || isSingleChar str_
+                                                                                   )
+                                                                                 ) of
+                                                                              _consistent ->
+                                                                                ( case ( ( SyntaxUsed False (_consistent && not (isSingleChar str_))
+                                                                                         )
+                                                                                       ) of
+                                                                                    _strSyntax ->
+                                                                                      ( case ( ( _strSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "single quoted strings" "double quoted strings"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_MLString
+  :: String
+  -> T_Token
+sem_Token_MLString str_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( MLString str_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceStr _lhsInextTokenPos str_
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TTrue :: T_Token
+sem_Token_TTrue =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TTrue
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TFalse :: T_Token
+sem_Token_TFalse =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TFalse
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Nil :: T_Token
+sem_Token_Nil =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Nil
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_VarArg :: T_Token
+sem_Token_VarArg =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( VarArg
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Plus :: T_Token
+sem_Token_Plus =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Plus
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Minus :: T_Token
+sem_Token_Minus =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Minus
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Multiply :: T_Token
+sem_Token_Multiply =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Multiply
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Divide :: T_Token
+sem_Token_Divide =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Divide
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Modulus :: T_Token
+sem_Token_Modulus =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Modulus
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Power :: T_Token
+sem_Token_Power =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Power
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TEq :: T_Token
+sem_Token_TEq =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TEq
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TNEq :: T_Token
+sem_Token_TNEq =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TNEq
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIneqSyntax)
+                                                           )
+                                                         ) of
+                                                      _consistent ->
+                                                        ( case ( ( SyntaxUsed _consistent False
+                                                                 )
+                                                               ) of
+                                                            _neqSyntax ->
+                                                              ( case ( ( _neqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOnextTokenPos ->
+                                                                          ( case ( ( _lhsInotSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "~=" "!="
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TCNEq :: T_Token
+sem_Token_TCNEq =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TCNEq
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIneqSyntax)
+                                                           )
+                                                         ) of
+                                                      _consistent ->
+                                                        ( case ( ( SyntaxUsed False _consistent
+                                                                 )
+                                                               ) of
+                                                            _neqSyntax ->
+                                                              ( case ( ( _neqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOnextTokenPos ->
+                                                                          ( case ( ( _lhsInotSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "!=" "~="
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TLEQ :: T_Token
+sem_Token_TLEQ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TLEQ
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TGEQ :: T_Token
+sem_Token_TGEQ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TGEQ
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TLT :: T_Token
+sem_Token_TLT =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TLT
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_TGT :: T_Token
+sem_Token_TGT =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( TGT
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Equals :: T_Token
+sem_Token_Equals =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Equals
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Concatenate :: T_Token
+sem_Token_Concatenate =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Concatenate
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Colon :: T_Token
+sem_Token_Colon =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Colon
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Dot :: T_Token
+sem_Token_Dot =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Dot
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Comma :: T_Token
+sem_Token_Comma =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Comma
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Hash :: T_Token
+sem_Token_Hash =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Hash
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Not :: T_Token
+sem_Token_Not =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Not
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsInotSyntax)
+                                                                       )
+                                                                     ) of
+                                                                  _consistent ->
+                                                                    ( case ( ( SyntaxUsed _consistent False
+                                                                             )
+                                                                           ) of
+                                                                        _notSyntax ->
+                                                                          ( case ( ( _notSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "not" "!"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_CNot :: T_Token
+sem_Token_CNot =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( CNot
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsInotSyntax)
+                                                                       )
+                                                                     ) of
+                                                                  _consistent ->
+                                                                    ( case ( ( SyntaxUsed False _consistent
+                                                                             )
+                                                                           ) of
+                                                                        _notSyntax ->
+                                                                          ( case ( ( _notSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "!" "not"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_And :: T_Token
+sem_Token_And =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIandSyntax)
+                 )
+               ) of
+            _consistent ->
+              ( case ( ( SyntaxUsed _consistent False
+                       )
+                     ) of
+                  _andSyntax ->
+                    ( case ( ( _andSyntax
+                             )
+                           ) of
+                        _lhsOandSyntax ->
+                          ( case ( ( And
+                                   )
+                                 ) of
+                              _copy ->
+                                ( case ( ( _copy
+                                         )
+                                       ) of
+                                    _lhsOcopy ->
+                                      ( case ( ( []
+                                               )
+                                             ) of
+                                          _lhsOcustomWarnings ->
+                                            ( case ( ( _lhsIindentation
+                                                     )
+                                                   ) of
+                                                _lhsOindentation ->
+                                                  ( case ( ( _lhsIlineCommentSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOlineCommentSyntax ->
+                                                        ( case ( ( _lhsImultilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIneqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOnextTokenPos ->
+                                                                          ( case ( ( _lhsInotSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "and" "&&"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_CAnd :: T_Token
+sem_Token_CAnd =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIandSyntax)
+                 )
+               ) of
+            _consistent ->
+              ( case ( ( SyntaxUsed False _consistent
+                       )
+                     ) of
+                  _andSyntax ->
+                    ( case ( ( _andSyntax
+                             )
+                           ) of
+                        _lhsOandSyntax ->
+                          ( case ( ( CAnd
+                                   )
+                                 ) of
+                              _copy ->
+                                ( case ( ( _copy
+                                         )
+                                       ) of
+                                    _lhsOcopy ->
+                                      ( case ( ( []
+                                               )
+                                             ) of
+                                          _lhsOcustomWarnings ->
+                                            ( case ( ( _lhsIindentation
+                                                     )
+                                                   ) of
+                                                _lhsOindentation ->
+                                                  ( case ( ( _lhsIlineCommentSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOlineCommentSyntax ->
+                                                        ( case ( ( _lhsImultilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIneqSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOneqSyntax ->
+                                                                    ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOnextTokenPos ->
+                                                                          ( case ( ( _lhsInotSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOnotSyntax ->
+                                                                                ( case ( ( _lhsIorSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "&&" "and"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Or :: T_Token
+sem_Token_Or =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Or
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIorSyntax)
+                                                                             )
+                                                                           ) of
+                                                                        _consistent ->
+                                                                          ( case ( ( SyntaxUsed _consistent False
+                                                                                   )
+                                                                                 ) of
+                                                                              _orSyntax ->
+                                                                                ( case ( ( _orSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "or" "||"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_COr :: T_Token
+sem_Token_COr =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( COr
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIorSyntax)
+                                                                             )
+                                                                           ) of
+                                                                        _consistent ->
+                                                                          ( case ( ( SyntaxUsed False _consistent
+                                                                                   )
+                                                                                 ) of
+                                                                              _orSyntax ->
+                                                                                ( case ( ( _orSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOorSyntax ->
+                                                                                      ( case ( ( _lhsIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOstrSyntax ->
+                                                                                            ( case ( ( []
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tokenWarnings_augmented_syn ->
+                                                                                                  ( case ( ( if _consistent
+                                                                                                              then id
+                                                                                                              else (:) $ SyntaxInconsistency "||" "or"
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tokenWarnings_augmented_f1 ->
+                                                                                                        ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _lhsOtokenWarnings ->
+                                                                                                              ( case ( ( []
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _lhsOwarnings ->
+                                                                                                                    (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Function :: T_Token
+sem_Token_Function =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Function
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Local :: T_Token
+sem_Token_Local =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Local
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_If :: T_Token
+sem_Token_If =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( If
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Then :: T_Token
+sem_Token_Then =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Then
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Elseif :: T_Token
+sem_Token_Elseif =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Elseif
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Else :: T_Token
+sem_Token_Else =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Else
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_For :: T_Token
+sem_Token_For =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( For
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_In :: T_Token
+sem_Token_In =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( In
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Do :: T_Token
+sem_Token_Do =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Do
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_While :: T_Token
+sem_Token_While =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( While
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Until :: T_Token
+sem_Token_Until =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Until
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Repeat :: T_Token
+sem_Token_Repeat =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Repeat
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Continue :: T_Token
+sem_Token_Continue =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Continue
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Break :: T_Token
+sem_Token_Break =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Break
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Return :: T_Token
+sem_Token_Return =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Return
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_End :: T_Token
+sem_Token_End =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( End
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_LRound :: T_Token
+sem_Token_LRound =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( LRound
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_RRound :: T_Token
+sem_Token_RRound =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( RRound
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_LCurly :: T_Token
+sem_Token_LCurly =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( LCurly
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_RCurly :: T_Token
+sem_Token_RCurly =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( RCurly
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_LSquare :: T_Token
+sem_Token_LSquare =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( LSquare
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_RSquare :: T_Token
+sem_Token_RSquare =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( RSquare
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Label
+  :: String
+  -> String
+  -> String
+  -> T_Token
+sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Label whitespaceBefore_ lbl_ whitespaceAfter_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceStr _lhsInextTokenPos (show _copy)
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_Token_Identifier
+  :: String
+  -> T_Token
+sem_Token_Identifier ident_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( Identifier ident_
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( []
+                                   )
+                                 ) of
+                              _lhsOcustomWarnings ->
+                                ( case ( ( _lhsIindentation
+                                         )
+                                       ) of
+                                    _lhsOindentation ->
+                                      ( case ( ( _lhsIlineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOlineCommentSyntax ->
+                                            ( case ( ( _lhsImultilineCommentSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOmultilineCommentSyntax ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _lhsOneqSyntax ->
+                                                        ( case ( ( customAdvanceToken _lhsInextTokenPos _copy
+                                                                 )
+                                                               ) of
+                                                            _lhsOnextTokenPos ->
+                                                              ( case ( ( _lhsInotSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOnotSyntax ->
+                                                                    ( case ( ( _lhsIorSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOorSyntax ->
+                                                                          ( case ( ( _lhsIstrSyntax
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOstrSyntax ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOtokenWarnings ->
+                                                                                      ( case ( ( []
+                                                                                               )
+                                                                                             ) of
+                                                                                          _lhsOwarnings ->
+                                                                                            (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+
+-- TokenList ---------------------------------------------------
+-- cata
+sem_TokenList
+  :: TokenList
+  -> T_TokenList
+sem_TokenList list =
+  (Prelude.foldr sem_TokenList_Cons sem_TokenList_Nil (Prelude.map sem_Token list))
+
+-- semantic domain
+type T_TokenList =
+  SyntaxUsed
+  -> LintSettings
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> LineColPos
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> SyntaxUsed
+  -> (SyntaxUsed, TokenList, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([Issue]), ([FilePath -> LintMessage]))
+data Inh_TokenList = Inh_TokenList {andSyntax_Inh_TokenList :: SyntaxUsed, config_Inh_TokenList :: LintSettings, indentation_Inh_TokenList :: SyntaxUsed, lineCommentSyntax_Inh_TokenList :: SyntaxUsed, multilineCommentSyntax_Inh_TokenList :: SyntaxUsed, neqSyntax_Inh_TokenList :: SyntaxUsed, nextTokenPos_Inh_TokenList :: LineColPos, notSyntax_Inh_TokenList :: SyntaxUsed, orSyntax_Inh_TokenList :: SyntaxUsed, strSyntax_Inh_TokenList :: SyntaxUsed}
+data Syn_TokenList = Syn_TokenList {andSyntax_Syn_TokenList :: SyntaxUsed, copy_Syn_TokenList :: TokenList, indentation_Syn_TokenList :: SyntaxUsed, lineCommentSyntax_Syn_TokenList :: SyntaxUsed, multilineCommentSyntax_Syn_TokenList :: SyntaxUsed, neqSyntax_Syn_TokenList :: SyntaxUsed, nextTokenPos_Syn_TokenList :: LineColPos, notSyntax_Syn_TokenList :: SyntaxUsed, orSyntax_Syn_TokenList :: SyntaxUsed, strSyntax_Syn_TokenList :: SyntaxUsed, tokenWarnings_Syn_TokenList :: ([Issue]), warnings_Syn_TokenList :: ([FilePath -> LintMessage])}
+wrap_TokenList
+  :: T_TokenList
+  -> Inh_TokenList
+  -> Syn_TokenList
+wrap_TokenList sem (Inh_TokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
+  ( let
+      (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
+    in
+      (Syn_TokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOtokenWarnings _lhsOwarnings)
+  )
+sem_TokenList_Cons
+  :: T_Token
+  -> T_TokenList
+  -> T_TokenList
+sem_TokenList_Cons hd_ tl_ =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIconfig
+                 )
+               ) of
+            _tlOconfig ->
+              ( case ( ( _lhsIconfig
+                       )
+                     ) of
+                  _hdOconfig ->
+                    ( case ( ( _lhsIandSyntax
+                             )
+                           ) of
+                        _hdOandSyntax ->
+                          ( case ( ( _lhsIstrSyntax
+                                   )
+                                 ) of
+                              _hdOstrSyntax ->
+                                ( case ( ( _lhsIorSyntax
+                                         )
+                                       ) of
+                                    _hdOorSyntax ->
+                                      ( case ( ( _lhsInotSyntax
+                                               )
+                                             ) of
+                                          _hdOnotSyntax ->
+                                            ( case ( ( _lhsInextTokenPos
+                                                     )
+                                                   ) of
+                                                _hdOnextTokenPos ->
+                                                  ( case ( ( _lhsIneqSyntax
+                                                           )
+                                                         ) of
+                                                      _hdOneqSyntax ->
+                                                        ( case ( ( _lhsImultilineCommentSyntax
+                                                                 )
+                                                               ) of
+                                                            _hdOmultilineCommentSyntax ->
+                                                              ( case ( ( _lhsIlineCommentSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _hdOlineCommentSyntax ->
+                                                                    ( case ( ( _lhsIindentation
+                                                                             )
+                                                                           ) of
+                                                                        _hdOindentation ->
+                                                                          ( case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of
+                                                                              (_hdIandSyntax, _hdIcopy, _hdIcustomWarnings, _hdIindentation, _hdIlineCommentSyntax, _hdImultilineCommentSyntax, _hdIneqSyntax, _hdInextTokenPos, _hdInotSyntax, _hdIorSyntax, _hdIstrSyntax, _hdItokenWarnings, _hdIwarnings) ->
+                                                                                ( case ( ( _hdIandSyntax
+                                                                                         )
+                                                                                       ) of
+                                                                                    _tlOandSyntax ->
+                                                                                      ( case ( ( _hdIstrSyntax
+                                                                                               )
+                                                                                             ) of
+                                                                                          _tlOstrSyntax ->
+                                                                                            ( case ( ( _hdIorSyntax
+                                                                                                     )
+                                                                                                   ) of
+                                                                                                _tlOorSyntax ->
+                                                                                                  ( case ( ( _hdInotSyntax
+                                                                                                           )
+                                                                                                         ) of
+                                                                                                      _tlOnotSyntax ->
+                                                                                                        ( case ( ( _hdInextTokenPos
+                                                                                                                 )
+                                                                                                               ) of
+                                                                                                            _tlOnextTokenPos ->
+                                                                                                              ( case ( ( _hdIneqSyntax
+                                                                                                                       )
+                                                                                                                     ) of
+                                                                                                                  _tlOneqSyntax ->
+                                                                                                                    ( case ( ( _hdImultilineCommentSyntax
+                                                                                                                             )
+                                                                                                                           ) of
+                                                                                                                        _tlOmultilineCommentSyntax ->
+                                                                                                                          ( case ( ( _hdIlineCommentSyntax
+                                                                                                                                   )
+                                                                                                                                 ) of
+                                                                                                                              _tlOlineCommentSyntax ->
+                                                                                                                                ( case ( ( _hdIindentation
+                                                                                                                                         )
+                                                                                                                                       ) of
+                                                                                                                                    _tlOindentation ->
+                                                                                                                                      ( case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of
+                                                                                                                                          (_tlIandSyntax, _tlIcopy, _tlIindentation, _tlIlineCommentSyntax, _tlImultilineCommentSyntax, _tlIneqSyntax, _tlInextTokenPos, _tlInotSyntax, _tlIorSyntax, _tlIstrSyntax, _tlItokenWarnings, _tlIwarnings) ->
+                                                                                                                                            ( case ( ( _tlIandSyntax
+                                                                                                                                                     )
+                                                                                                                                                   ) of
+                                                                                                                                                _lhsOandSyntax ->
+                                                                                                                                                  ( case ( ( (:) _hdIcopy _tlIcopy
+                                                                                                                                                           )
+                                                                                                                                                         ) of
+                                                                                                                                                      _copy ->
+                                                                                                                                                        ( case ( ( _copy
+                                                                                                                                                                 )
+                                                                                                                                                               ) of
+                                                                                                                                                            _lhsOcopy ->
+                                                                                                                                                              ( case ( ( _tlIindentation
+                                                                                                                                                                       )
+                                                                                                                                                                     ) of
+                                                                                                                                                                  _lhsOindentation ->
+                                                                                                                                                                    ( case ( ( _tlIlineCommentSyntax
+                                                                                                                                                                             )
+                                                                                                                                                                           ) of
+                                                                                                                                                                        _lhsOlineCommentSyntax ->
+                                                                                                                                                                          ( case ( ( _tlImultilineCommentSyntax
+                                                                                                                                                                                   )
+                                                                                                                                                                                 ) of
+                                                                                                                                                                              _lhsOmultilineCommentSyntax ->
+                                                                                                                                                                                ( case ( ( _tlIneqSyntax
+                                                                                                                                                                                         )
+                                                                                                                                                                                       ) of
+                                                                                                                                                                                    _lhsOneqSyntax ->
+                                                                                                                                                                                      ( case ( ( _tlInextTokenPos
+                                                                                                                                                                                               )
+                                                                                                                                                                                             ) of
+                                                                                                                                                                                          _lhsOnextTokenPos ->
+                                                                                                                                                                                            ( case ( ( _tlInotSyntax
+                                                                                                                                                                                                     )
+                                                                                                                                                                                                   ) of
+                                                                                                                                                                                                _lhsOnotSyntax ->
+                                                                                                                                                                                                  ( case ( ( _tlIorSyntax
+                                                                                                                                                                                                           )
+                                                                                                                                                                                                         ) of
+                                                                                                                                                                                                      _lhsOorSyntax ->
+                                                                                                                                                                                                        ( case ( ( _tlIstrSyntax
+                                                                                                                                                                                                                 )
+                                                                                                                                                                                                               ) of
+                                                                                                                                                                                                            _lhsOstrSyntax ->
+                                                                                                                                                                                                              ( case ( ( _hdItokenWarnings ++ _tlItokenWarnings
+                                                                                                                                                                                                                       )
+                                                                                                                                                                                                                     ) of
+                                                                                                                                                                                                                  _lhsOtokenWarnings ->
+                                                                                                                                                                                                                    ( case ( ( _hdIwarnings ++ _tlIwarnings
+                                                                                                                                                                                                                             )
+                                                                                                                                                                                                                           ) of
+                                                                                                                                                                                                                        _lhsOwarnings ->
+                                                                                                                                                                                                                          (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                                                                                                                                                    )
+                                                                                                                                                                                                              )
+                                                                                                                                                                                                        )
+                                                                                                                                                                                                  )
+                                                                                                                                                                                            )
+                                                                                                                                                                                      )
+                                                                                                                                                                                )
+                                                                                                                                                                          )
+                                                                                                                                                                    )
+                                                                                                                                                              )
+                                                                                                                                                        )
+                                                                                                                                                  )
+                                                                                                                                            )
+                                                                                                                                      )
+                                                                                                                                )
+                                                                                                                          )
+                                                                                                                    )
+                                                                                                              )
+                                                                                                        )
+                                                                                                  )
+                                                                                            )
+                                                                                      )
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
+sem_TokenList_Nil :: T_TokenList
+sem_TokenList_Nil =
+  ( \_lhsIandSyntax
+     _lhsIconfig
+     _lhsIindentation
+     _lhsIlineCommentSyntax
+     _lhsImultilineCommentSyntax
+     _lhsIneqSyntax
+     _lhsInextTokenPos
+     _lhsInotSyntax
+     _lhsIorSyntax
+     _lhsIstrSyntax ->
+        ( case ( ( _lhsIandSyntax
+                 )
+               ) of
+            _lhsOandSyntax ->
+              ( case ( ( []
+                       )
+                     ) of
+                  _copy ->
+                    ( case ( ( _copy
+                             )
+                           ) of
+                        _lhsOcopy ->
+                          ( case ( ( _lhsIindentation
+                                   )
+                                 ) of
+                              _lhsOindentation ->
+                                ( case ( ( _lhsIlineCommentSyntax
+                                         )
+                                       ) of
+                                    _lhsOlineCommentSyntax ->
+                                      ( case ( ( _lhsImultilineCommentSyntax
+                                               )
+                                             ) of
+                                          _lhsOmultilineCommentSyntax ->
+                                            ( case ( ( _lhsIneqSyntax
+                                                     )
+                                                   ) of
+                                                _lhsOneqSyntax ->
+                                                  ( case ( ( _lhsInextTokenPos
+                                                           )
+                                                         ) of
+                                                      _lhsOnextTokenPos ->
+                                                        ( case ( ( _lhsInotSyntax
+                                                                 )
+                                                               ) of
+                                                            _lhsOnotSyntax ->
+                                                              ( case ( ( _lhsIorSyntax
+                                                                       )
+                                                                     ) of
+                                                                  _lhsOorSyntax ->
+                                                                    ( case ( ( _lhsIstrSyntax
+                                                                             )
+                                                                           ) of
+                                                                        _lhsOstrSyntax ->
+                                                                          ( case ( ( []
+                                                                                   )
+                                                                                 ) of
+                                                                              _lhsOtokenWarnings ->
+                                                                                ( case ( ( []
+                                                                                         )
+                                                                                       ) of
+                                                                                    _lhsOwarnings ->
+                                                                                      (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)
+                                                                                )
+                                                                          )
+                                                                    )
+                                                              )
+                                                        )
+                                                  )
+                                            )
+                                      )
+                                )
+                          )
+                    )
+              )
+        )
+  )
diff --git a/src/GLuaFixer/Interface.hs b/src/GLuaFixer/Interface.hs
--- a/src/GLuaFixer/Interface.hs
+++ b/src/GLuaFixer/Interface.hs
@@ -1,5 +1,3 @@
-{-# LANGUAGE OverloadedRecordDot #-}
-
 module GLuaFixer.Interface where
 
 import GLua.AG.AST (AST)
@@ -28,7 +26,7 @@
 lex lintSettings filepath contents =
   case PSL.execParseTokens contents of
     Left lexErr ->
-      Left [LintMessage LintError (PSL.sp2Rg $ errorPos lexErr) (IssueParseError lexErr) filepath | lintSettings.lint_syntaxErrors]
+      Left [LintMessage LintError (PSL.sp2Rg $ errorPos lexErr) (IssueParseError lexErr) filepath | lint_syntaxErrors lintSettings]
     Right tokens -> Right $ fixedLexPositions tokens
 
 -- | Use the (slower, but error-correcting) UU-parsinglib lexer to generate the lexicon
@@ -36,7 +34,7 @@
 lexUU lintSettings contents = case UUL.execParseTokens contents of
   (tokens, errors) ->
     ( fixedLexPositions tokens
-    , [err | lintSettings.lint_syntaxErrors, err <- errors]
+    , [err | lint_syntaxErrors lintSettings, err <- errors]
     )
 
 -- | Run the linting functions that inspect the lexicon
diff --git a/tests/golden/data/input/ambiguous-definition.lua b/tests/golden/data/input/ambiguous-definition.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/ambiguous-definition.lua
@@ -0,0 +1,23 @@
+-- Ambiguous without ; as foo(print)(a) is a valid call
+foo = function() end
+a, b = foo;
+(print)(a)
+
+-- NOT Ambiguous without ; as true(print)(a) is syntactically invalid
+a, b = true;
+(print)(a)
+
+-- Ambiguous without ; as foo(print)(a) is a valid call
+a, b = true, foo;
+(print)(a)
+
+-- Obviously not ambiguous without ;
+a, b = foo;
+print(a)
+
+--  Ambiguous without ; as foo()(print)(a) is a valid call
+foo();
+(print)(a)
+
+a, b = foo, true;
+(print)(a)
diff --git a/tests/golden/data/input/assignment.lua b/tests/golden/data/input/assignment.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/assignment.lua
@@ -0,0 +1,1 @@
+a=0
diff --git a/tests/golden/data/input/darkrp-jobrelated.lua b/tests/golden/data/input/darkrp-jobrelated.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/darkrp-jobrelated.lua
@@ -0,0 +1,310 @@
+-- This file is chosen to test the pretty printer with, because it has
+-- interesting function calls with tables.
+-- It is slightly modified to add some comments in some places.
+
+print("./gamemode/config/jobrelated.lua")
+-- People often copy jobs. When they do, the GM table does not exist anymore.
+-- This line makes the job code work both inside and outside of gamemode files.
+-- You should not copy this line into your code.
+local GAMEMODE = GAMEMODE or GM
+--[[--------------------------------------------------------
+Default teams. Please do not edit this file. Please use the darkrpmod addon instead.
+--------------------------------------------------------]]
+TEAM_CITIZEN = DarkRP.createJob("Citizen", {
+    color = Color(20, 150, 20, 255),
+    model = {
+        "models/player/Group01/Female_01.mdl",
+        "models/player/Group01/Female_02.mdl",
+        "models/player/Group01/Female_03.mdl", -- test comment
+        "models/player/Group01/Female_04.mdl",
+        "models/player/Group01/Female_06.mdl",
+        "models/player/group01/male_01.mdl",
+        "models/player/Group01/Male_02.mdl",
+        "models/player/Group01/male_03.mdl",
+        "models/player/Group01/Male_04.mdl",
+        "models/player/Group01/Male_05.mdl",
+        "models/player/Group01/Male_06.mdl",
+        "models/player/Group01/Male_07.mdl",
+        "models/player/Group01/Male_08.mdl",
+        "models/player/Group01/Male_09.mdl"
+    }, -- another comment
+    -- look at this comment
+    description = [[The Citizen is the most basic level of society you can hold besides being a hobo. You have no specific role in city life.]],
+    weapons = {},
+    command = "citizen",
+    max = 0,
+    salary = GAMEMODE.Config.normalsalary,
+    admin = 0,
+    vote = false,
+    hasLicense = false,
+    candemote = false,
+    category = "Citizens",
+})
+
+TEAM_POLICE = DarkRP.createJob("Civil Protection", {
+    color = Color(25, 25, 170, 255),
+    model = {"models/player/police.mdl", "models/player/police_fem.mdl"},
+    description = [[The protector of every citizen that lives in the city.
+        You have the power to arrest criminals and protect innocents.
+        Hit a player with your arrest baton to put them in jail.
+        Bash a player with a stunstick and they may learn to obey the law.
+        The Battering Ram can break down the door of a criminal, with a warrant for their arrest.
+        The Battering Ram can also unfreeze frozen props (if enabled).
+        Type /wanted <name> to alert the public to the presence of a criminal.]],
+    weapons = {"arrest_stick", "unarrest_stick", "weapon_glock2", "stunstick", "door_ram", "weaponchecker"},
+    command = "cp",
+    max = 4,
+    salary = GAMEMODE.Config.normalsalary * 1.45,
+    admin = 0,
+    vote = true,
+    hasLicense = true,
+    ammo = {
+        ["pistol"] = 60,
+    },
+    category = "Civil Protection",
+})
+
+TEAM_GANG = DarkRP.createJob("Gangster", {
+    color = Color(75, 75, 75, 255),
+    model = {
+        "models/player/Group03/Female_01.mdl",
+        "models/player/Group03/Female_02.mdl",
+        "models/player/Group03/Female_03.mdl",
+        "models/player/Group03/Female_04.mdl",
+        "models/player/Group03/Female_06.mdl",
+        "models/player/group03/male_01.mdl",
+        "models/player/Group03/Male_02.mdl",
+        "models/player/Group03/male_03.mdl",
+        "models/player/Group03/Male_04.mdl",
+        "models/player/Group03/Male_05.mdl",
+        "models/player/Group03/Male_06.mdl",
+        "models/player/Group03/Male_07.mdl",
+        "models/player/Group03/Male_08.mdl",
+        "models/player/Group03/Male_09.mdl"},
+    description = [[The lowest person of crime.
+        A gangster generally works for the Mobboss who runs the crime family.
+        The Mob boss sets your agenda and you follow it or you might be punished.]],
+    weapons = {},
+    command = "gangster",
+    max = 3,
+    salary = GAMEMODE.Config.normalsalary,
+    admin = 0,
+    vote = false,
+    hasLicense = false,
+    category = "Gangsters",
+})
+
+TEAM_MOB = DarkRP.createJob("Mob boss", {
+    color = Color(25, 25, 25, 255),
+    model = "models/player/gman_high.mdl",
+    description = [[The Mob boss is the boss of the criminals in the city.
+        With his power he coordinates the gangsters and forms an efficient crime organization.
+        He has the ability to break into houses by using a lockpick.
+        The Mob boss posesses the ability to unarrest you.]],
+    weapons = {"lockpick", "unarrest_stick"},
+    command = "mobboss",
+    max = 1,
+    salary = GAMEMODE.Config.normalsalary * 1.34,
+    admin = 0,
+    vote = false,
+    hasLicense = false,
+    category = "Gangsters",
+})
+
+TEAM_GUN = DarkRP.createJob("Gun Dealer", {
+    color = Color(255, 140, 0, 255),
+    model = "models/player/monk.mdl",
+    description = [[A Gun Dealer is the only person who can sell guns to other people.
+        Make sure you aren't caught selling illegal firearms to the public! You might get arrested!]],
+    weapons = {},
+    command = "gundealer",
+    max = 2,
+    salary = GAMEMODE.Config.normalsalary,
+    admin = 0,
+    vote = false,
+    hasLicense = false,
+    category = "Citizens",
+})
+
+TEAM_MEDIC = DarkRP.createJob("Medic", {
+    color = Color(47, 79, 79, 255),
+    model = "models/player/kleiner.mdl",
+    description = [[With your medical knowledge you work to restore players to full health.
+        Without a medic, people cannot be healed.
+        Left click with the Medical Kit to heal other players.
+        Right click with the Medical Kit to heal yourself.]],
+    weapons = {"med_kit"},
+    command = "medic",
+    max = 3,
+    salary = GAMEMODE.Config.normalsalary,
+    admin = 0,
+    vote = false,
+    hasLicense = false,
+    medic = true,
+    category = "Citizens",
+})
+
+TEAM_CHIEF = DarkRP.createJob("Civil Protection Chief", {
+    color = Color(20, 20, 255, 255),
+    model = "models/player/combine_soldier_prisonguard.mdl",
+    description = [[The Chief is the leader of the Civil Protection unit.
+        Coordinate the police force to enforce law in the city.
+        Hit a player with arrest baton to put them in jail.
+        Bash a player with a stunstick and they may learn to obey the law.
+        The Battering Ram can break down the door of a criminal, with a warrant for his/her arrest.
+        Type /wanted <name> to alert the public to the presence of a criminal.
+        Type /jailpos to set the Jail Position]],
+    weapons = {"arrest_stick", "unarrest_stick", "weapon_deagle2", "stunstick", "door_ram", "weaponchecker"},
+    command = "chief",
+    max = 1,
+    salary = GAMEMODE.Config.normalsalary * 1.67,
+    admin = 0,
+    vote = false,
+    hasLicense = true,
+    chief = true,
+    NeedToChangeFrom = TEAM_POLICE,
+    ammo = {
+        ["pistol"] = 60,
+    },
+    category = "Civil Protection",
+})
+
+TEAM_MAYOR = DarkRP.createJob("Mayor", {
+    color = Color(150, 20, 20, 255),
+    model = "models/player/breen.mdl",
+    description = [[The Mayor of the city creates laws to govern the city.
+    If you are the mayor you may create and accept warrants.
+    Type /wanted <name>  to warrant a player.
+    Type /jailpos to set the Jail Position.
+    Type /lockdown initiate a lockdown of the city.
+    Everyone must be inside during a lockdown.
+    The cops patrol the area.
+    /unlockdown to end a lockdown]],
+    weapons = {},
+    command = "mayor",
+    max = 1,
+    salary = GAMEMODE.Config.normalsalary * 1.89,
+    admin = 0,
+    vote = true,
+    hasLicense = false,
+    mayor = true,
+    category = "Civil Protection",
+})
+
+TEAM_HOBO = DarkRP.createJob("Hobo", {
+    color = Color(80, 45, 0, 255),
+    model = "models/player/corpse1.mdl",
+    description = [[The lowest member of society. Everybody laughs at you.
+        You have no home.
+        Beg for your food and money
+        Sing for everyone who passes to get money
+        Make your own wooden home somewhere in a corner or outside someone else's door]],
+    weapons = {"weapon_bugbait"},
+    command = "hobo",
+    max = 5,
+    salary = 0,
+    admin = 0,
+    vote = false,
+    hasLicense = false,
+    candemote = false,
+    hobo = true,
+    category = "Citizens",
+})
+
+if not DarkRP.disabledDefaults["modules"]["hungermod"] then
+    TEAM_COOK = DarkRP.createJob("Cook", {
+        color = Color(238, 99, 99, 255),
+        model = "models/player/mossman.mdl",
+        description = [[As a cook, it is your responsibility to feed the other members of your city.
+            You can spawn a microwave and sell the food you make:
+            /buymicrowave]],
+        weapons = {},
+        command = "cook",
+        max = 2,
+        salary = 45,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        cook = true
+    })
+end
+
+-- Compatibility for when default teams are disabled
+TEAM_CITIZEN = TEAM_CITIZEN  or -1
+TEAM_POLICE  = TEAM_POLICE   or -1
+TEAM_GANG    = TEAM_GANG     or -1
+TEAM_MOB     = TEAM_MOB      or -1
+TEAM_GUN     = TEAM_GUN      or -1
+TEAM_MEDIC   = TEAM_MEDIC    or -1
+TEAM_CHIEF   = TEAM_CHIEF    or -1
+TEAM_MAYOR   = TEAM_MAYOR    or -1
+TEAM_HOBO    = TEAM_HOBO     or -1
+TEAM_COOK    = TEAM_COOK     or -1
+
+-- Door groups
+AddDoorGroup("Cops and Mayor only", TEAM_CHIEF, TEAM_POLICE, TEAM_MAYOR)
+AddDoorGroup("Gundealer only", TEAM_GUN)
+
+
+-- Agendas
+DarkRP.createAgenda("Gangster's agenda", TEAM_MOB, {TEAM_GANG})
+DarkRP.createAgenda("Police agenda", {TEAM_MAYOR, TEAM_CHIEF}, {TEAM_POLICE})
+
+-- Group chats
+DarkRP.createGroupChat(function(ply) return ply:isCP() end)
+DarkRP.createGroupChat(TEAM_MOB, TEAM_GANG)
+DarkRP.createGroupChat(function(listener, ply) return not ply or ply:Team() == listener:Team() end)
+
+-- Initial team when first spawning
+GAMEMODE.DefaultTeam = TEAM_CITIZEN
+
+-- Teams that belong to Civil Protection
+GAMEMODE.CivilProtection = {
+    [TEAM_POLICE] = true,
+    [TEAM_CHIEF] = true,
+    [TEAM_MAYOR] = true,
+}
+
+-- Hitman team
+DarkRP.addHitmanTeam(TEAM_MOB)
+
+-- Demote groups
+DarkRP.createDemoteGroup("Cops", {TEAM_POLICE, TEAM_CHIEF})
+DarkRP.createDemoteGroup("Gangsters", {TEAM_GANG, TEAM_MOB})
+
+-- Default categories
+DarkRP.createCategory{
+    name = "Citizens",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(0, 107, 0, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 100,
+}
+
+DarkRP.createCategory{
+    name = "Civil Protection",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(25, 25, 170, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 101,
+}
+
+DarkRP.createCategory{
+    name = "Gangsters",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(75, 75, 75, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 101,
+}
+
+DarkRP.createCategory{
+    name = "Other",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(0, 107, 0, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 255,
+}
diff --git a/tests/golden/data/input/empty.lua b/tests/golden/data/input/empty.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/empty.lua
diff --git a/tests/golden/data/input/issue-106.lua b/tests/golden/data/input/issue-106.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-106.lua
@@ -0,0 +1,3 @@
+a({b}, function()
+    -- comment
+end, function() end)
diff --git a/tests/golden/data/input/issue-118.lua b/tests/golden/data/input/issue-118.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-118.lua
@@ -0,0 +1,14 @@
+local model_blacklist = {  -- I need help finding out why these crash
+	--[[["models/props_junk/sawblade001a.mdl"] = true,
+	["models/props_c17/furnitureshelf001b.mdl"] = true,
+	["models/props_phx/construct/metal_plate1.mdl"] = true,
+	["models/props_phx/construct/metal_plate1x2.mdl"] = true,
+	["models/props_phx/construct/metal_plate1x2_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate1_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x2.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x2_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x4.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x4_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate4x4.mdl"] = true,
+	["models/props_phx/construct/metal_plate4x4_tri.mdl"] = true,]]
+}
diff --git a/tests/golden/data/input/issue-129.lua b/tests/golden/data/input/issue-129.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-129.lua
@@ -0,0 +1,5 @@
+local table = {
+    function()
+    return nil -- comment
+  end
+}
diff --git a/tests/golden/data/input/issue-144.lua b/tests/golden/data/input/issue-144.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-144.lua
@@ -0,0 +1,1 @@
+func(function()end)
diff --git a/tests/golden/data/input/issue-146.lua b/tests/golden/data/input/issue-146.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-146.lua
@@ -0,0 +1,3 @@
+print("a\z     b\z
+
+c")
diff --git a/tests/golden/data/input/issue-148.lua b/tests/golden/data/input/issue-148.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-148.lua
@@ -0,0 +1,137 @@
+local normalSounds = {
+	Sound("honk1.wav"),
+	Sound("honk2.wav"),
+	Sound("honk3.wav"),
+	Sound("honk4.wav")
+}
+render.DrawBeam(
+	self.StartPos - norm, -- Start
+	self.EndPos, -- End
+	64 * (1 - self.Life), -- Width
+	texcoord, -- Start tex coord
+	texcoord + self.Length / 128, -- End tex coord
+	Color( -- Color (optional)
+		Lerp(
+			self.Life,
+			255,
+			50
+		),
+		Lerp(
+			self.Life,
+			100,
+			50
+		),
+		255,
+		255
+	)
+)
+function a()
+	return 1, 2, 3, 4, 5
+end
+
+-- format: multiline
+local normalSounds = {
+	Sound("honk1.wav"),
+	Sound("honk2.wav"),
+	Sound("honk3.wav"),
+	Sound("honk4.wav")
+}
+// format: multiline
+render.DrawBeam(
+	self.StartPos - norm, -- Start
+	self.EndPos, -- End
+	64 * (1 - self.Life), -- Width
+	texcoord, -- Start tex coord
+	texcoord + self.Length / 128, -- End tex coord
+	Color( -- Color (optional)
+		Lerp(
+			self.Life,
+			255,
+			50
+		),
+		Lerp(
+			self.Life,
+			100,
+			50
+		),
+		255,
+		255
+	)
+)
+-- format: multiline
+function a()
+	return 1, 2, 3, 4, 5
+end
+-- format: multiline
+for a in 1, 2, 3, 4, 5 do
+	print(a)
+end
+
+--[[ format: multiline ]]
+local normalSounds = {
+	Sound("honk1.wav"),
+	Sound("honk2.wav"),
+	Sound("honk3.wav"),
+	Sound("honk4.wav")
+}
+/*
+format: multiline
+*/
+render.DrawBeam(
+	self.StartPos - norm, -- Start
+	self.EndPos, -- End
+	64 * (1 - self.Life), -- Width
+	texcoord, -- Start tex coord
+	texcoord + self.Length / 128, -- End tex coord
+	Color( -- Color (optional)
+		Lerp(
+			self.Life,
+			255,
+			50
+		),
+		Lerp(
+			self.Life,
+			100,
+			50
+		),
+		255,
+		255
+	)
+)
+
+local normalSounds = {
+	Sound("honk1.wav"),
+	Sound("honk2.wav"),
+	Sound("honk3.wav"),
+	Sound("honk4.wav")
+}
+
+render.DrawBeam(
+	self.StartPos - norm, -- Start
+	self.EndPos, -- End
+	64 * (1 - self.Life), -- Width
+	texcoord, -- Start tex coord
+	texcoord + self.Length / 128, -- End tex coord
+	Color( -- Color (optional)
+		Lerp(
+			self.Life,
+			255,
+			50
+		),
+		Lerp(
+			self.Life,
+			100,
+			50
+		),
+		255,
+		255
+	)
+)
+
+function a()
+	return 1, 2, 3, 4, 5
+end
+
+for a in 1, 2, 3, 4, 5 do
+	print(a)
+end
diff --git a/tests/golden/data/input/issue-155.lua b/tests/golden/data/input/issue-155.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-155.lua
@@ -0,0 +1,1 @@
+r=function(...)((...))[...]=nil;end
diff --git a/tests/golden/data/input/issue-156.lua b/tests/golden/data/input/issue-156.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-156.lua
@@ -0,0 +1,5 @@
+local a = {}
+local b = {1}
+
+(a)[1] = b[1];
+(a)[2] = 0x1
diff --git a/tests/golden/data/input/issue-157.lua b/tests/golden/data/input/issue-157.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-157.lua
@@ -0,0 +1,3 @@
+local f = {
+    Hello = "World" -- Hello
+}
diff --git a/tests/golden/data/input/issue-163.lua b/tests/golden/data/input/issue-163.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-163.lua
@@ -0,0 +1,20 @@
+-- These should not be marked as multiline, because there is only one statement
+-- in the body of each example.
+timer.Create("name", 30, 0, function() if true then return end end)
+timer.Create("name", 30, 0, function() return end)
+timer.Create("name", 30, 0, function() end)
+timer.Create("name", 30, 0)
+
+func(function() if true then return end end)
+func(function() anything() end)
+
+-- These, on the other hand, _should_ be marked as multiline
+timer.Create("name", 30, 0, function()
+    -- comment here
+    if true then return end
+end)
+
+timer.Create("name", 30, 0, function()
+    a = 1
+    return
+end)
diff --git a/tests/golden/data/input/issue-50.lua b/tests/golden/data/input/issue-50.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/issue-50.lua
@@ -0,0 +1,8 @@
+for num, ply in pairs(player.GetAll()) do --If the buddies are in the server then add them serverside
+    if ply:SteamID() == v.steamid then
+        -- update the name
+        sql.Query("UPDATE FPP_Buddies SET name = " .. sql.SQLStr(ply:Nick()) .. " WHERE steamid = " .. sql.SQLStr(v.steamid) .. ";")
+        FPP.Buddies[v.steamid].name = ply:Nick()
+        RunConsoleCommand("FPP_SetBuddy", ply:UserID(), v.physgun, v.gravgun, v.toolgun, v.playeruse, v.entitydamage)
+    end
+end
diff --git a/tests/golden/data/input/tables.lua b/tests/golden/data/input/tables.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/tables.lua
@@ -0,0 +1,51 @@
+a = {}
+a = {1}
+a = {1,2,3}
+a = {
+  foo, bar;
+  baz
+}
+a = {
+  foo, bar;
+  baz,
+}
+a = {
+  foo, bar;
+  baz;
+}
+a = {
+  [1] = 1,
+  [2] = 3;
+}
+a = {
+  foo = 1,
+  2,
+  bar = 3
+}
+a = {
+  {1,2,3},
+  {1,2,3}
+}
+a = {
+  [1] = 1,
+  2, 3,
+  [4] = 4
+}
+a = {
+  a, b;
+  c
+}
+a = {
+  --[[foo]] a, b;
+  c
+}
+a = {
+  -- foo
+  a, b;
+  c
+}
+a = {
+  a-- foo
+  , b;
+  c
+}
diff --git a/tests/golden/data/input/various-comments.lua b/tests/golden/data/input/various-comments.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/input/various-comments.lua
@@ -0,0 +1,63 @@
+-- Comment before if-statement
+if false then -- same-line comment
+  -- print("TODO")
+end
+
+if true then
+  a = 2 -- bar
+end
+
+-- Comment before if-statement
+if false then --same-line comment
+  -- if-statement with multiple statements
+  a = 1 -- comment after a statement
+  b = 2
+end
+
+-- Comment before if-statement
+if true then --[[ multiline comment on same line]] return end
+
+-- Comment before if-statement
+if true then
+  --[[ multiline comment on next line]]
+  return
+end
+
+-- Comment before if-statement
+if true then
+  return -- comment after return on same line
+end
+
+-- Comment before if-statement
+if true then
+  return
+  -- comment after return on new line
+end
+
+-- Comment before if-statement
+if true then
+  return
+end -- comment after end
+
+if true --[[ comment in condition]] or false -- single line comment in condition
+then return end
+
+for var=1, 10, 1 do -- same-line comment
+  -- print("TODO")
+end
+
+for k, v in pairs(player.GetAll()) do -- same-line comment
+  -- print("TODO")
+end
+
+function foo() -- same-line-comment
+end
+
+local function foo() -- same-line-comment
+end
+
+function foo()
+    -- Comment before return
+    return 1, 2, 3 -- comment on same line as return
+    -- comment after return
+end
diff --git a/tests/golden/data/output/ambiguous-definition.lua b/tests/golden/data/output/ambiguous-definition.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/ambiguous-definition.lua
@@ -0,0 +1,18 @@
+-- Ambiguous without ; as foo(print)(a) is a valid call
+foo = function() end
+a, b = foo;
+print(a)
+-- NOT Ambiguous without ; as true(print)(a) is syntactically invalid
+a, b = true
+print(a)
+-- Ambiguous without ; as foo(print)(a) is a valid call
+a, b = true, foo;
+print(a)
+-- Obviously not ambiguous without ;
+a, b = foo
+print(a)
+--  Ambiguous without ; as foo()(print)(a) is a valid call
+foo()
+print(a)
+a, b = foo, true
+print(a)
diff --git a/tests/golden/data/output/assignment.lua b/tests/golden/data/output/assignment.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/assignment.lua
@@ -0,0 +1,1 @@
+a = 0
diff --git a/tests/golden/data/output/darkrp-jobrelated.lua b/tests/golden/data/output/darkrp-jobrelated.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/darkrp-jobrelated.lua
@@ -0,0 +1,318 @@
+-- This file is chosen to test the pretty printer with, because it has
+-- interesting function calls with tables.
+-- It is slightly modified to add some comments in some places.
+print("./gamemode/config/jobrelated.lua")
+-- People often copy jobs. When they do, the GM table does not exist anymore.
+-- This line makes the job code work both inside and outside of gamemode files.
+-- You should not copy this line into your code.
+local GAMEMODE = GAMEMODE or GM
+--[[--------------------------------------------------------
+Default teams. Please do not edit this file. Please use the darkrpmod addon instead.
+--------------------------------------------------------]]
+TEAM_CITIZEN = DarkRP.createJob(
+    "Citizen",
+    {
+        color = Color(20, 150, 20, 255),
+        model = {
+            "models/player/Group01/Female_01.mdl",
+            "models/player/Group01/Female_02.mdl",
+            "models/player/Group01/Female_03.mdl", -- test comment
+            "models/player/Group01/Female_04.mdl",
+            "models/player/Group01/Female_06.mdl",
+            "models/player/group01/male_01.mdl",
+            "models/player/Group01/Male_02.mdl",
+            "models/player/Group01/male_03.mdl",
+            "models/player/Group01/Male_04.mdl",
+            "models/player/Group01/Male_05.mdl",
+            "models/player/Group01/Male_06.mdl",
+            "models/player/Group01/Male_07.mdl",
+            "models/player/Group01/Male_08.mdl",
+            "models/player/Group01/Male_09.mdl"
+        },
+        -- another comment
+        -- look at this comment
+        description = [[The Citizen is the most basic level of society you can hold besides being a hobo. You have no specific role in city life.]],
+        weapons = {},
+        command = "citizen",
+        max = 0,
+        salary = GAMEMODE.Config.normalsalary,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        candemote = false,
+        category = "Citizens",
+    }
+)
+
+TEAM_POLICE = DarkRP.createJob(
+    "Civil Protection",
+    {
+        color = Color(25, 25, 170, 255),
+        model = {"models/player/police.mdl", "models/player/police_fem.mdl"},
+        description = [[The protector of every citizen that lives in the city.
+        You have the power to arrest criminals and protect innocents.
+        Hit a player with your arrest baton to put them in jail.
+        Bash a player with a stunstick and they may learn to obey the law.
+        The Battering Ram can break down the door of a criminal, with a warrant for their arrest.
+        The Battering Ram can also unfreeze frozen props (if enabled).
+        Type /wanted <name> to alert the public to the presence of a criminal.]],
+        weapons = {"arrest_stick", "unarrest_stick", "weapon_glock2", "stunstick", "door_ram", "weaponchecker"},
+        command = "cp",
+        max = 4,
+        salary = GAMEMODE.Config.normalsalary * 1.45,
+        admin = 0,
+        vote = true,
+        hasLicense = true,
+        ammo = {
+            ["pistol"] = 60,
+        },
+        category = "Civil Protection",
+    }
+)
+
+TEAM_GANG = DarkRP.createJob(
+    "Gangster",
+    {
+        color = Color(75, 75, 75, 255),
+        model = {"models/player/Group03/Female_01.mdl", "models/player/Group03/Female_02.mdl", "models/player/Group03/Female_03.mdl", "models/player/Group03/Female_04.mdl", "models/player/Group03/Female_06.mdl", "models/player/group03/male_01.mdl", "models/player/Group03/Male_02.mdl", "models/player/Group03/male_03.mdl", "models/player/Group03/Male_04.mdl", "models/player/Group03/Male_05.mdl", "models/player/Group03/Male_06.mdl", "models/player/Group03/Male_07.mdl", "models/player/Group03/Male_08.mdl", "models/player/Group03/Male_09.mdl"},
+        description = [[The lowest person of crime.
+        A gangster generally works for the Mobboss who runs the crime family.
+        The Mob boss sets your agenda and you follow it or you might be punished.]],
+        weapons = {},
+        command = "gangster",
+        max = 3,
+        salary = GAMEMODE.Config.normalsalary,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        category = "Gangsters",
+    }
+)
+
+TEAM_MOB = DarkRP.createJob(
+    "Mob boss",
+    {
+        color = Color(25, 25, 25, 255),
+        model = "models/player/gman_high.mdl",
+        description = [[The Mob boss is the boss of the criminals in the city.
+        With his power he coordinates the gangsters and forms an efficient crime organization.
+        He has the ability to break into houses by using a lockpick.
+        The Mob boss posesses the ability to unarrest you.]],
+        weapons = {"lockpick", "unarrest_stick"},
+        command = "mobboss",
+        max = 1,
+        salary = GAMEMODE.Config.normalsalary * 1.34,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        category = "Gangsters",
+    }
+)
+
+TEAM_GUN = DarkRP.createJob(
+    "Gun Dealer",
+    {
+        color = Color(255, 140, 0, 255),
+        model = "models/player/monk.mdl",
+        description = [[A Gun Dealer is the only person who can sell guns to other people.
+        Make sure you aren't caught selling illegal firearms to the public! You might get arrested!]],
+        weapons = {},
+        command = "gundealer",
+        max = 2,
+        salary = GAMEMODE.Config.normalsalary,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        category = "Citizens",
+    }
+)
+
+TEAM_MEDIC = DarkRP.createJob(
+    "Medic",
+    {
+        color = Color(47, 79, 79, 255),
+        model = "models/player/kleiner.mdl",
+        description = [[With your medical knowledge you work to restore players to full health.
+        Without a medic, people cannot be healed.
+        Left click with the Medical Kit to heal other players.
+        Right click with the Medical Kit to heal yourself.]],
+        weapons = {"med_kit"},
+        command = "medic",
+        max = 3,
+        salary = GAMEMODE.Config.normalsalary,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        medic = true,
+        category = "Citizens",
+    }
+)
+
+TEAM_CHIEF = DarkRP.createJob(
+    "Civil Protection Chief",
+    {
+        color = Color(20, 20, 255, 255),
+        model = "models/player/combine_soldier_prisonguard.mdl",
+        description = [[The Chief is the leader of the Civil Protection unit.
+        Coordinate the police force to enforce law in the city.
+        Hit a player with arrest baton to put them in jail.
+        Bash a player with a stunstick and they may learn to obey the law.
+        The Battering Ram can break down the door of a criminal, with a warrant for his/her arrest.
+        Type /wanted <name> to alert the public to the presence of a criminal.
+        Type /jailpos to set the Jail Position]],
+        weapons = {"arrest_stick", "unarrest_stick", "weapon_deagle2", "stunstick", "door_ram", "weaponchecker"},
+        command = "chief",
+        max = 1,
+        salary = GAMEMODE.Config.normalsalary * 1.67,
+        admin = 0,
+        vote = false,
+        hasLicense = true,
+        chief = true,
+        NeedToChangeFrom = TEAM_POLICE,
+        ammo = {
+            ["pistol"] = 60,
+        },
+        category = "Civil Protection",
+    }
+)
+
+TEAM_MAYOR = DarkRP.createJob(
+    "Mayor",
+    {
+        color = Color(150, 20, 20, 255),
+        model = "models/player/breen.mdl",
+        description = [[The Mayor of the city creates laws to govern the city.
+    If you are the mayor you may create and accept warrants.
+    Type /wanted <name>  to warrant a player.
+    Type /jailpos to set the Jail Position.
+    Type /lockdown initiate a lockdown of the city.
+    Everyone must be inside during a lockdown.
+    The cops patrol the area.
+    /unlockdown to end a lockdown]],
+        weapons = {},
+        command = "mayor",
+        max = 1,
+        salary = GAMEMODE.Config.normalsalary * 1.89,
+        admin = 0,
+        vote = true,
+        hasLicense = false,
+        mayor = true,
+        category = "Civil Protection",
+    }
+)
+
+TEAM_HOBO = DarkRP.createJob(
+    "Hobo",
+    {
+        color = Color(80, 45, 0, 255),
+        model = "models/player/corpse1.mdl",
+        description = [[The lowest member of society. Everybody laughs at you.
+        You have no home.
+        Beg for your food and money
+        Sing for everyone who passes to get money
+        Make your own wooden home somewhere in a corner or outside someone else's door]],
+        weapons = {"weapon_bugbait"},
+        command = "hobo",
+        max = 5,
+        salary = 0,
+        admin = 0,
+        vote = false,
+        hasLicense = false,
+        candemote = false,
+        hobo = true,
+        category = "Citizens",
+    }
+)
+
+if not DarkRP.disabledDefaults["modules"]["hungermod"] then
+    TEAM_COOK = DarkRP.createJob(
+        "Cook",
+        {
+            color = Color(238, 99, 99, 255),
+            model = "models/player/mossman.mdl",
+            description = [[As a cook, it is your responsibility to feed the other members of your city.
+            You can spawn a microwave and sell the food you make:
+            /buymicrowave]],
+            weapons = {},
+            command = "cook",
+            max = 2,
+            salary = 45,
+            admin = 0,
+            vote = false,
+            hasLicense = false,
+            cook = true
+        }
+    )
+end
+
+-- Compatibility for when default teams are disabled
+TEAM_CITIZEN = TEAM_CITIZEN or -1
+TEAM_POLICE = TEAM_POLICE or -1
+TEAM_GANG = TEAM_GANG or -1
+TEAM_MOB = TEAM_MOB or -1
+TEAM_GUN = TEAM_GUN or -1
+TEAM_MEDIC = TEAM_MEDIC or -1
+TEAM_CHIEF = TEAM_CHIEF or -1
+TEAM_MAYOR = TEAM_MAYOR or -1
+TEAM_HOBO = TEAM_HOBO or -1
+TEAM_COOK = TEAM_COOK or -1
+-- Door groups
+AddDoorGroup("Cops and Mayor only", TEAM_CHIEF, TEAM_POLICE, TEAM_MAYOR)
+AddDoorGroup("Gundealer only", TEAM_GUN)
+-- Agendas
+DarkRP.createAgenda("Gangster's agenda", TEAM_MOB, {TEAM_GANG})
+DarkRP.createAgenda("Police agenda", {TEAM_MAYOR, TEAM_CHIEF}, {TEAM_POLICE})
+-- Group chats
+DarkRP.createGroupChat(function(ply) return ply:isCP() end)
+DarkRP.createGroupChat(TEAM_MOB, TEAM_GANG)
+DarkRP.createGroupChat(function(listener, ply) return not ply or ply:Team() == listener:Team() end)
+-- Initial team when first spawning
+GAMEMODE.DefaultTeam = TEAM_CITIZEN
+-- Teams that belong to Civil Protection
+GAMEMODE.CivilProtection = {
+    [TEAM_POLICE] = true,
+    [TEAM_CHIEF] = true,
+    [TEAM_MAYOR] = true,
+}
+
+-- Hitman team
+DarkRP.addHitmanTeam(TEAM_MOB)
+-- Demote groups
+DarkRP.createDemoteGroup("Cops", {TEAM_POLICE, TEAM_CHIEF})
+DarkRP.createDemoteGroup("Gangsters", {TEAM_GANG, TEAM_MOB})
+-- Default categories
+DarkRP.createCategory{
+    name = "Citizens",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(0, 107, 0, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 100,
+}
+
+DarkRP.createCategory{
+    name = "Civil Protection",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(25, 25, 170, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 101,
+}
+
+DarkRP.createCategory{
+    name = "Gangsters",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(75, 75, 75, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 101,
+}
+
+DarkRP.createCategory{
+    name = "Other",
+    categorises = "jobs",
+    startExpanded = true,
+    color = Color(0, 107, 0, 255),
+    canSee = fp{fn.Id, true},
+    sortOrder = 255,
+}
diff --git a/tests/golden/data/output/empty.lua b/tests/golden/data/output/empty.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/empty.lua
diff --git a/tests/golden/data/output/issue-106.lua b/tests/golden/data/output/issue-106.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-106.lua
@@ -0,0 +1,5 @@
+a(
+    {b},
+    function() end, -- comment
+    function() end
+)
diff --git a/tests/golden/data/output/issue-118.lua b/tests/golden/data/output/issue-118.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-118.lua
@@ -0,0 +1,13 @@
+local model_blacklist = {} -- I need help finding out why these crash
+--[[["models/props_junk/sawblade001a.mdl"] = true,
+	["models/props_c17/furnitureshelf001b.mdl"] = true,
+	["models/props_phx/construct/metal_plate1.mdl"] = true,
+	["models/props_phx/construct/metal_plate1x2.mdl"] = true,
+	["models/props_phx/construct/metal_plate1x2_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate1_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x2.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x2_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x4.mdl"] = true,
+	["models/props_phx/construct/metal_plate2x4_tri.mdl"] = true,
+	["models/props_phx/construct/metal_plate4x4.mdl"] = true,
+	["models/props_phx/construct/metal_plate4x4_tri.mdl"] = true,]]
diff --git a/tests/golden/data/output/issue-129.lua b/tests/golden/data/output/issue-129.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-129.lua
@@ -0,0 +1,5 @@
+local table = {
+    function()
+        return nil -- comment
+    end
+}
diff --git a/tests/golden/data/output/issue-144.lua b/tests/golden/data/output/issue-144.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-144.lua
@@ -0,0 +1,1 @@
+func(function() end)
diff --git a/tests/golden/data/output/issue-146.lua b/tests/golden/data/output/issue-146.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-146.lua
@@ -0,0 +1,3 @@
+print("a\z     b\z
+
+c")
diff --git a/tests/golden/data/output/issue-148.lua b/tests/golden/data/output/issue-148.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-148.lua
@@ -0,0 +1,135 @@
+local normalSounds = {Sound("honk1.wav"), Sound("honk2.wav"), Sound("honk3.wav"), Sound("honk4.wav")}
+render.DrawBeam(
+    self.StartPos - norm, -- Start
+    self.EndPos, -- End
+    64 * (1 - self.Life), -- Width
+    texcoord, -- Start tex coord
+    texcoord + self.Length / 128, -- End tex coord
+    Color(
+        -- Color (optional)
+        Lerp(self.Life, 255, 50),
+        Lerp(self.Life, 100, 50),
+        255,
+        255
+    )
+)
+
+function a()
+    return 1, 2, 3, 4, 5
+end
+
+-- format: multiline
+local normalSounds = {
+    Sound(
+        "honk1.wav"
+    ),
+    Sound(
+        "honk2.wav"
+    ),
+    Sound(
+        "honk3.wav"
+    ),
+    Sound(
+        "honk4.wav"
+    )
+}
+
+-- format: multiline
+render.DrawBeam(
+    self.StartPos - norm, -- Start
+    self.EndPos, -- End
+    64 * (1 - self.Life), -- Width
+    texcoord, -- Start tex coord
+    texcoord + self.Length / 128, -- End tex coord
+    Color(
+        -- Color (optional)
+        Lerp(
+            self.Life,
+            255,
+            50
+        ),
+        Lerp(
+            self.Life,
+            100,
+            50
+        ),
+        255,
+        255
+    )
+)
+
+-- format: multiline
+function a()
+    return 1, 2, 3, 4, 5
+end
+
+-- format: multiline
+for a in 1, 2, 3, 4, 5 do
+    print(a)
+end
+
+--[[ format: multiline ]]
+local normalSounds = {
+    Sound(
+        "honk1.wav"
+    ),
+    Sound(
+        "honk2.wav"
+    ),
+    Sound(
+        "honk3.wav"
+    ),
+    Sound(
+        "honk4.wav"
+    )
+}
+
+--[[
+format: multiline
+]]
+render.DrawBeam(
+    self.StartPos - norm, -- Start
+    self.EndPos, -- End
+    64 * (1 - self.Life), -- Width
+    texcoord, -- Start tex coord
+    texcoord + self.Length / 128, -- End tex coord
+    Color(
+        -- Color (optional)
+        Lerp(
+            self.Life,
+            255,
+            50
+        ),
+        Lerp(
+            self.Life,
+            100,
+            50
+        ),
+        255,
+        255
+    )
+)
+
+local normalSounds = {Sound("honk1.wav"), Sound("honk2.wav"), Sound("honk3.wav"), Sound("honk4.wav")}
+render.DrawBeam(
+    self.StartPos - norm, -- Start
+    self.EndPos, -- End
+    64 * (1 - self.Life), -- Width
+    texcoord, -- Start tex coord
+    texcoord + self.Length / 128, -- End tex coord
+    Color(
+        -- Color (optional)
+        Lerp(self.Life, 255, 50),
+        Lerp(self.Life, 100, 50),
+        255,
+        255
+    )
+)
+
+function a()
+    return 1, 2, 3, 4, 5
+end
+
+for a in 1, 2, 3, 4, 5 do
+    print(a)
+end
diff --git a/tests/golden/data/output/issue-155.lua b/tests/golden/data/output/issue-155.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-155.lua
@@ -0,0 +1,1 @@
+r = function(...) (...)[...] = nil end
diff --git a/tests/golden/data/output/issue-156.lua b/tests/golden/data/output/issue-156.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-156.lua
@@ -0,0 +1,4 @@
+local a = {}
+local b = {1}
+a[1] = b[1];
+a[2] = 0x1
diff --git a/tests/golden/data/output/issue-157.lua b/tests/golden/data/output/issue-157.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-157.lua
@@ -0,0 +1,3 @@
+local f = {
+    Hello = "World" -- Hello
+}
diff --git a/tests/golden/data/output/issue-163.lua b/tests/golden/data/output/issue-163.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-163.lua
@@ -0,0 +1,28 @@
+-- These should not be marked as multiline, because there is only one statement
+-- in the body of each example.
+timer.Create("name", 30, 0, function() if true then return end end)
+timer.Create("name", 30, 0, function() return end)
+timer.Create("name", 30, 0, function() end)
+timer.Create("name", 30, 0)
+func(function() if true then return end end)
+func(function() anything() end)
+-- These, on the other hand, _should_ be marked as multiline
+timer.Create(
+    "name",
+    30,
+    0,
+    function()
+        -- comment here
+        if true then return end
+    end
+)
+
+timer.Create(
+    "name",
+    30,
+    0,
+    function()
+        a = 1
+        return
+    end
+)
diff --git a/tests/golden/data/output/issue-50.lua b/tests/golden/data/output/issue-50.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/issue-50.lua
@@ -0,0 +1,8 @@
+for num, ply in pairs(player.GetAll()) do --If the buddies are in the server then add them serverside
+    if ply:SteamID() == v.steamid then
+        -- update the name
+        sql.Query("UPDATE FPP_Buddies SET name = " .. sql.SQLStr(ply:Nick()) .. " WHERE steamid = " .. sql.SQLStr(v.steamid) .. ";")
+        FPP.Buddies[v.steamid].name = ply:Nick()
+        RunConsoleCommand("FPP_SetBuddy", ply:UserID(), v.physgun, v.gravgun, v.toolgun, v.playeruse, v.entitydamage)
+    end
+end
diff --git a/tests/golden/data/output/tables.lua b/tests/golden/data/output/tables.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/tables.lua
@@ -0,0 +1,65 @@
+a = {}
+a = {1}
+a = {1, 2, 3}
+a = {
+    foo,
+    bar;
+    baz
+}
+
+a = {
+    foo,
+    bar;
+    baz,
+}
+
+a = {
+    foo,
+    bar;
+    baz;
+}
+
+a = {
+    [1] = 1,
+    [2] = 3;
+}
+
+a = {
+    foo = 1,
+    2,
+    bar = 3
+}
+
+a = {{1, 2, 3}, {1, 2, 3}}
+a = {
+    [1] = 1,
+    2,
+    3,
+    [4] = 4
+}
+
+a = {
+    a,
+    b;
+    c
+}
+
+a = {
+    --[[foo]]
+    a,
+    b;
+    c
+}
+
+a = {
+    -- foo
+    a,
+    b;
+    c
+}
+
+a = {
+    a, -- foo
+    b;
+    c
+}
diff --git a/tests/golden/data/output/various-comments.lua b/tests/golden/data/output/various-comments.lua
new file mode 100644
--- /dev/null
+++ b/tests/golden/data/output/various-comments.lua
@@ -0,0 +1,53 @@
+-- Comment before if-statement
+if false then end -- same-line comment
+-- print("TODO")
+if true then
+    a = 2 -- bar
+end
+
+-- Comment before if-statement
+if false then --same-line comment
+    -- if-statement with multiple statements
+    a = 1 -- comment after a statement
+    b = 2
+end
+
+-- Comment before if-statement
+if true then return end --[[ multiline comment on same line]]
+-- Comment before if-statement
+if true then
+    --[[ multiline comment on next line]]
+    return
+end
+
+-- Comment before if-statement
+if true then
+    return -- comment after return on same line
+end
+
+-- Comment before if-statement
+if true then return end
+-- comment after return on new line
+-- Comment before if-statement
+if true then return end
+-- comment after end
+if true or false then return end --[[ comment in condition]] -- single line comment in condition
+for var = 1, 10 do -- same-line comment
+end
+
+-- print("TODO")
+for k, v in pairs(player.GetAll()) do -- same-line comment
+end
+
+-- print("TODO")
+function foo() -- same-line-comment
+end
+
+local function foo() -- same-line-comment
+end
+
+function foo()
+    -- Comment before return
+    return 1, 2, 3 -- comment on same line as return
+end
+-- comment after return
