diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -79,7 +79,6 @@
     "prettyprint_removeRedundantParens": true,
     "prettyprint_minimizeParens": false,
     "prettyprint_assumeOperatorAssociativity": true,
-    "prettyprint_rejectInvalidCode": false,
     "prettyprint_indentation": "    ",
 
     "log_format": "auto"
@@ -140,7 +139,6 @@
 `prettyprint_removeRedundantParens` | Whether to remove unnecessary parentheses (e.g. `x = (1 + 2)`, `if ((1) + (2) == 3) then`)
 `prettyprint_minimizeParens` | Removes parentheses which are unnecessary due to operator precedence (e.g. `(1 * 2) + 3`). This option also removes redundant parameters, regardless of whether `prettyprint_removeRedundantParens` is enabled.
 `prettyprint_assumeOperatorAssociativity` | Only takes effect when `prettyprint_minimizeParens` is `true`. It decides whether parameters can be removed when the involved operators are assumed associative. Examples: `a * (b * c)`, `a and (b and c)`. This assumption is generally true, except for floating point numbers, where removing parentheses can actually change the outcome of the calculation. See [Stack Overflow](https://stackoverflow.com/a/10371890). This option is set to `true` by default, because the expectation is that this will not be problematic even if it affects your code. In a very rare case, this might cause trouble, though. You might want to consider turning this off if you have floating point code that heavily relies on evaluation order. You may also choose to leave this option on and ensure evaluation order by explicitly setting variables.
-`prettyprint_rejectInvalidCode` | Whether not to pretty print when the code is syntactically invalid
 
 ### Other options
 
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
@@ -16,7 +16,7 @@
 import GHC.Exts (sortWith)
 import GLua.AG.AST (AST)
 import GLua.AG.PrettyPrint (renderRegion)
-import GLua.AG.Token (Region)
+import GLua.Position (Region)
 import GLuaFixer.AG.ASTLint (globalDefinitions)
 import GLuaFixer.Effects.Logging (Logging, putStrLnStdOut)
 import GLuaFixer.LintSettings (LintSettings)
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
@@ -10,7 +10,7 @@
 
 module GLuaFixer.Effects.Run where
 
-import Control.Monad (unless, when)
+import Control.Monad (when)
 import qualified Data.Aeson as JSON
 import qualified Data.ByteString.Lazy.Char8 as BL8
 import Effectful (Eff, (:>))
@@ -19,8 +19,7 @@
 import GLua.AG.AST (AST)
 import GLua.AG.Token (MToken)
 import GLua.ASTInstances ()
-import qualified GLua.PSParser as PSP
-import qualified GLua.Parser as UUP
+import qualified GLua.Parser as Parser
 import GLuaFixer.Cli (Command (..), Options (..), OverriddenSettings, SettingsPath)
 import GLuaFixer.Effects.AnalyseGlobals (analyseFile, execAnalysis, reportAnalysis)
 import GLuaFixer.Effects.Cli (Cli, CliParseResult (..), parseCliOptions)
@@ -97,7 +96,7 @@
               worstExitCode exitCode <$> lint lintSettings filepath contents
         (PrettyPrint, UseStdIn) -> do
           (lintSettings, contents) <- getStdIn options.optsConfigFile options.optsOverridden
-          case prettyprint lintSettings contents of
+          case prettyprint lintSettings "stdin" contents of
             Nothing -> pure $ ExitFailure 1
             Just prettyprinted -> do
               putStrStdOut prettyprinted
@@ -110,7 +109,7 @@
             files
             $ \exitCode lintSettings filepath contents -> do
               putStrLnStdOut $ "Pretty printing " <> filepath
-              case prettyprint lintSettings contents of
+              case prettyprint lintSettings filepath contents of
                 Nothing -> pure $ ExitFailure 1
                 Just prettyprinted -> do
                   writeFile filepath prettyprinted
@@ -256,16 +255,15 @@
 -- | Pretty print a file
 prettyprint
   :: LintSettings
+  -> FilePath
   -> String
   -> Maybe String
-prettyprint lintSettings contents = do
-  if lintSettings.prettyprint_rejectInvalidCode && hasErrors
-    then Nothing
-    else Just $ Interface.prettyprint lintSettings ast
+prettyprint lintSettings filepath contents =
+  case eAst of
+    Left _errors -> Nothing
+    Right ast -> Just $ Interface.prettyprint lintSettings ast
   where
-    (tokens, lexErrors) = Interface.lexUU lintSettings contents
-    (ast, parseErrors) = Interface.parseUU tokens
-    hasErrors = not (null lexErrors) || not (null parseErrors)
+    eAst = Interface.lex lintSettings filepath contents >>= Interface.parse lintSettings filepath
 
 -- | Test glualint itself against a file. TODO: Refactor this into a nicer command
 test
@@ -277,24 +275,7 @@
   -> Eff es ExitCode
 test exitCode lintSettings filepath contents = do
   putStrLnStdOut $ "Testing " <> filepath
-  let
-    (uu_lex, uu_lex_errors) = Interface.lexUU lintSettings contents
-    (_uu_ast, uu_parseErrs) = Interface.parseUU uu_lex
 
-  unless (null uu_lex_errors) $ do
-    putStrLnStdOut $
-      "Errors when trying to lex '"
-        ++ filepath
-        ++ "' with uu-parsinglib lexer!"
-    mapM_ (putStrLnStdOut . show) uu_lex_errors
-
-  unless (null uu_parseErrs) $ do
-    putStrLnStdOut $
-      "Errors when trying to parse '"
-        ++ filepath
-        ++ "' with uu-parsinglib parser!"
-    mapM_ (putStrLnStdOut . show) uu_parseErrs
-
   logFormat <- getLogFormat lintSettings.log_format
 
   case Interface.lex lintSettings filepath contents of
@@ -305,25 +286,17 @@
       case Interface.parse lintSettings filepath tokens of
         Left msgs -> do
           putStrLnStdOut $
-            "Errors when trying to parse '" ++ filepath ++ "' with parsec parser!"
+            "Errors when trying to parse '" ++ filepath
           mapM_ (emitLintMessage logFormat) msgs
           pure $ ExitFailure 1
         Right ast -> do
           let
             prettyprinted = Interface.prettyprint lintSettings ast
-            (_uu_ast_pp, uu_parseErrs_pp) = UUP.parseGLuaFromString prettyprinted
 
-          unless (null uu_parseErrs_pp) $ do
-            putStrLnStdOut $
-              "Errors when trying to parse '"
-                ++ filepath
-                ++ "' with uu-parsinglib parser after pretty print!"
-            mapM_ (putStrLnStdOut . show) uu_parseErrs_pp
-
-          case PSP.parseGLuaFromString prettyprinted of
+          case Parser.parseGLuaFromString prettyprinted of
             Left err -> do
               putStrLnStdOut $
-                "Errors when trying to parse '" ++ filepath ++ "' with parsec parser after pretty print!"
+                "Errors when trying to parse '" ++ filepath ++ "' after pretty print!"
 
               putStrLnStdOut $ show err
               pure $ ExitFailure 1
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.26.0
+version:            1.27.0
 synopsis:           Attempts to fix your syntax erroring Lua files.
 description:
   Linter for Lua, specifically the variant used in Garry's mod.
@@ -26,15 +26,14 @@
 library
   default-language: Haskell2010
   build-depends:
-    , aeson          >=2        && <3
-    , base           >=4.5      && <5
-    , bytestring     >=0.11     && <1
-    , containers     >=0.6      && <1
-    , parsec         >=3        && <4
-    , pretty         >=1.1      && <1.2
-    , uu-parsinglib  >=2.8      && <3
-    , uuagc          >=0.9.40.3 && <0.10
-    , uuagc-cabal    >=1.0.3.0  && <2
+    , aeson        >=2        && <3
+    , base         >=4.5      && <5
+    , bytestring   >=0.11     && <1
+    , containers   >=0.6      && <1
+    , parsec       >=3        && <4
+    , pretty       >=1.1      && <1.2
+    , uuagc        >=0.9.40.3 && <0.10
+    , uuagc-cabal  >=1.0.3.0  && <2
 
   hs-source-dirs:   src
   exposed-modules:
@@ -45,8 +44,7 @@
     GLua.Lexer
     GLua.LineLimitParser
     GLua.Parser
-    GLua.PSLexer
-    GLua.PSParser
+    GLua.Position
     GLua.TokenTypes
     GLuaFixer.AG.ASTLint
     GLuaFixer.AG.LexLint
@@ -76,6 +74,19 @@
     , glualint
     , tasty         >=1.4 && <2
     , tasty-golden  >=2.3 && <2.4
+
+  default-language: Haskell2010
+
+test-suite linttest
+  type:             exitcode-stdio-1.0
+  main-is:          Spec.hs
+  hs-source-dirs:   tests/linttest
+  build-depends:
+    , base
+    , bytestring
+    , glualint
+    , tasty        >=1.4  && <2
+    , tasty-hunit  >=0.10 && <0.12
 
   default-language: Haskell2010
 
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,171 +1,137 @@
+
+
 {-# LANGUAGE DeriveGeneric #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- UUAGC 0.9.55 (src/GLua/AG/AST.ag)
+-- UUAGC 0.9.53.1 (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.Position
 import GLua.TokenTypes ()
-{-# LINE 15 "src/GLua/AG/AST.hs" #-}
+import GHC.Generics
+import Data.Aeson
+{-# LINE 16 "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)
-
+data Block = Block (Region) (MStatList) (AReturn)
+           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,7288 +1,8726 @@
-{-# 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)
-        )
-  )
+
+
+{-# 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.Position
+import GLua.TokenTypes ()
+import GHC.Generics
+import Data.Aeson
+{-# LINE 16 "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 GLua.Position
+import Text.PrettyPrint hiding (parens, brackets, braces)
+import GLua.TokenTypes
+import Data.Maybe
+import Text.Parsec
+import Text.Parsec.Error
+import Debug.Trace
+{-# LINE 30 "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
+
+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 273 "src/GLua/AG/PrettyPrint.hs" #-}
+
+{-# LINE 1206 "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 453 "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 =
+                  ({-# LINE 864 "src/GLua/AG/PrettyPrint.ag" #-}
+                   renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore    )
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "return")
+                   <-> _valuesIpretty
+                   <> _semicolon
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
+                   {-# LINE 509 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 870 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valuesIisMultiline
+                   || not (null $ fst _commentsBefore    )
+                   || not (null $ fst _commentsAfter    )
+                   {-# LINE 516 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 874 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf then zchr ';' else empty
+                   {-# LINE 521 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsBefore =
+                  ({-# LINE 875 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `before` pos_) _lhsIcomments
+                   {-# LINE 526 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valuesOcomments =
+                  ({-# LINE 876 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsBefore
+                   {-# LINE 531 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfter =
+                  ({-# LINE 877 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` (rgOr _valuesIpos pos_)) _valuesIcomments
+                   {-# LINE 536 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 879 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfter
+                   {-# LINE 541 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valuesOforceMultiline =
+                  ({-# LINE 883 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 546 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valuesOsomeElementsInListAreMultiline =
+                  ({-# LINE 884 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 551 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstatementCount =
+                  ({-# LINE 885 "src/GLua/AG/PrettyPrint.ag" #-}
+                   1
+                   {-# LINE 556 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AReturn pos_ _valuesIcopy
+                   {-# LINE 561 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 566 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valuesOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 571 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valuesOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 576 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 887 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 595 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstatementCount =
+                  ({-# LINE 888 "src/GLua/AG/PrettyPrint.ag" #-}
+                   0
+                   {-# LINE 600 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 889 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 605 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   NoReturn
+                   {-# LINE 610 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 615 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 620 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 621 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _chunkIpretty $+$ _prettyComments
+                   {-# LINE 663 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 622 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _chunkIisMultiline
+                   {-# LINE 668 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettyComments =
+                  ({-# LINE 623 "src/GLua/AG/PrettyPrint.ag" #-}
+                   renderMLComments _lhsIppconf _lhsIindent _chunkIcomments
+                   {-# LINE 673 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _chunkOcomments =
+                  ({-# LINE 624 "src/GLua/AG/PrettyPrint.ag" #-}
+                   comments_
+                   {-# LINE 678 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _chunkOstatRegion =
+                  ({-# LINE 625 "src/GLua/AG/PrettyPrint.ag" #-}
+                   emptyRg
+                   {-# LINE 683 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _chunkOforceMultiline =
+                  ({-# LINE 626 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 688 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AST comments_ _chunkIcopy
+                   {-# LINE 693 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 698 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _chunkOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 703 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _chunkOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 708 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1062 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _argsIisMultiline then
+                       zchr '(' $+$
+                       _argsIpretty $+$
+                       indent _lhsIppconf _lhsIindent (zchr ')')
+                   else
+                       parens _lhsIppconf _emptyParams     _argsIpretty
+                   {-# LINE 769 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1069 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIisMultiline
+                   {-# LINE 774 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _emptyParams =
+                  ({-# LINE 1070 "src/GLua/AG/PrettyPrint.ag" #-}
+                   toEmpty $ null _argsIcopy
+                   {-# LINE 779 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOindent =
+                  ({-# LINE 1071 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _argsIisMultiline then _lhsIindent + 1 else 0
+                   {-# LINE 784 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOsomeElementsInListAreMultiline =
+                  ({-# LINE 1072 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 789 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ListArgs _argsIcopy
+                   {-# LINE 794 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 799 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIcomments
+                   {-# LINE 804 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 809 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 814 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 819 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1074 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _argIisMultiline then _prettyMulti     else _prettySingle
+                   {-# LINE 848 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1075 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argIisMultiline
+                   {-# LINE 853 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettyMulti =
+                  ({-# LINE 1076 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zchr '{' $+$ _argIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')
+                   {-# LINE 858 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettySingle =
+                  ({-# LINE 1077 "src/GLua/AG/PrettyPrint.ag" #-}
+                   braces _lhsIppconf _emptyContents     _argIpretty
+                   {-# LINE 863 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _emptyContents =
+                  ({-# LINE 1078 "src/GLua/AG/PrettyPrint.ag" #-}
+                   toEmpty $ null _argIcopy
+                   {-# LINE 868 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argOindent =
+                  ({-# LINE 1079 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + (if _argIisMultiline then 1 else 0)
+                   {-# LINE 873 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argOsomeElementsInListAreMultiline =
+                  ({-# LINE 1080 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 878 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TableArg _argIcopy
+                   {-# LINE 883 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 888 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argIcomments
+                   {-# LINE 893 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 898 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 903 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 908 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1082 "src/GLua/AG/PrettyPrint.ag" #-}
+                   tok arg_
+                   {-# LINE 927 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1083 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 932 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   StringArg arg_
+                   {-# LINE 937 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 942 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 947 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1190 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText (if cStyle _lhsIppconf then "||" else "or")
+                   {-# LINE 1011 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1191 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1016 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1192 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel1
+                   {-# LINE 1021 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1193 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1026 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AOr
+                   {-# LINE 1031 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1036 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1041 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1185 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText (if cStyle _lhsIppconf then "&&" else "and")
+                   {-# LINE 1058 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1186 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1063 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1187 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel2
+                   {-# LINE 1068 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1188 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1073 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AAnd
+                   {-# LINE 1078 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1083 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1088 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1155 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "<"
+                   {-# LINE 1105 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1156 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1110 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1157 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel3
+                   {-# LINE 1115 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1158 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1120 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ALT
+                   {-# LINE 1125 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1130 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1135 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1165 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText ">"
+                   {-# LINE 1152 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1166 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1157 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1167 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel3
+                   {-# LINE 1162 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1168 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1167 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AGT
+                   {-# LINE 1172 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1177 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1182 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1160 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "<="
+                   {-# LINE 1199 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1161 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1204 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1162 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel3
+                   {-# LINE 1209 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1163 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1214 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ALEQ
+                   {-# LINE 1219 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1224 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1229 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1170 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText ">="
+                   {-# LINE 1246 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1171 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1251 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1172 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel3
+                   {-# LINE 1256 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1173 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1261 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AGEQ
+                   {-# LINE 1266 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1271 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1276 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1180 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText (if cStyle _lhsIppconf then "!=" else "~=")
+                   {-# LINE 1293 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1181 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1298 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1182 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel3
+                   {-# LINE 1303 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1183 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1308 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ANEq
+                   {-# LINE 1313 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1318 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1323 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1175 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "=="
+                   {-# LINE 1340 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1176 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1345 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1177 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel3
+                   {-# LINE 1350 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1178 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1355 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AEq
+                   {-# LINE 1360 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1365 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1370 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1150 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText ".."
+                   {-# LINE 1387 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1151 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1392 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1152 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel4
+                   {-# LINE 1397 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1153 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1402 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AConcatenate
+                   {-# LINE 1407 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1412 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1417 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1120 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "+"
+                   {-# LINE 1434 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1121 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1439 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1122 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel5
+                   {-# LINE 1444 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1123 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1449 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   APlus
+                   {-# LINE 1454 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1459 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1464 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1125 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "-"
+                   {-# LINE 1481 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1126 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1486 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1127 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel5
+                   {-# LINE 1491 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1128 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1496 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   BinMinus
+                   {-# LINE 1501 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1506 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1511 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1130 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "*"
+                   {-# LINE 1528 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1131 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1533 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1132 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel6
+                   {-# LINE 1538 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1133 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1543 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AMultiply
+                   {-# LINE 1548 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1553 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1558 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1135 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "/"
+                   {-# LINE 1575 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1136 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1580 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1137 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel6
+                   {-# LINE 1585 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1138 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1590 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ADivide
+                   {-# LINE 1595 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1600 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1605 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1140 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "%"
+                   {-# LINE 1622 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1141 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1627 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1142 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel6
+                   {-# LINE 1632 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1143 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1637 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AModulus
+                   {-# LINE 1642 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1647 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1652 "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
+              _lhsOisMultiline :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOisAssociative :: Bool
+              _lhsOcopy :: BinOp
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1145 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "^"
+                   {-# LINE 1669 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1146 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1674 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1147 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 1679 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 1148 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 1684 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   APower
+                   {-# LINE 1689 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1694 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1699 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          in  ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))
+-- Block -------------------------------------------------------
+-- cata
+sem_Block :: Block ->
+             T_Block
+sem_Block (Block _pos _stats _ret) =
+    (sem_Block_Block _pos (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 :: Region ->
+                   T_MStatList ->
+                   T_AReturn ->
+                   T_Block
+sem_Block_Block pos_ stats_ ret_ =
+    (\ _lhsIcomments
+       _lhsIforceMultiline
+       _lhsIindent
+       _lhsIppconf
+       _lhsIstatRegion ->
+         (let _lhsOpretty :: Doc
+              _lhsOcomments :: ([MToken])
+              _lhsOstatementCount :: Int
+              _lhsOcopy :: Block
+              _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 =
+                  ({-# LINE 630 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline
+                   then _statsIpretty $+$ _retIpretty $+$ _prettyCommentsAfter
+                   else _statsIpretty <-> _retIpretty
+                   {-# LINE 1764 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statementCount =
+                  ({-# LINE 634 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statsIstatementCount + _retIstatementCount
+                   {-# LINE 1769 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _isMultiline =
+                  ({-# LINE 635 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statsIisMultiline || _retIisMultiline || _statementCount     > 1 || not (null $ fst $ _commentsAfter    )
+                   {-# LINE 1774 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfter =
+                  ({-# LINE 636 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeEnd` pos_) _retIcomments
+                   {-# LINE 1779 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettyCommentsAfter =
+                  ({-# LINE 637 "src/GLua/AG/PrettyPrint.ag" #-}
+                   renderMLComments _lhsIppconf _lhsIindent $ fst _commentsAfter
+                   {-# LINE 1784 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 638 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfter
+                   {-# LINE 1789 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstatementCount =
+                  ({-# LINE 324 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statementCount
+                   {-# LINE 1794 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Block pos_ _statsIcopy _retIcopy
+                   {-# LINE 1799 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1804 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 1809 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1814 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 1819 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 1824 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 1829 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statsOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 1834 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _retOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statsIcomments
+                   {-# LINE 1839 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _retOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 1844 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _retOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 1849 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _retOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 1854 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 522 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x1Ipretty
+                   {-# LINE 1927 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOexprPretty =
+                  ({-# LINE 523 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x2Ipretty
+                   {-# LINE 1932 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 524 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x1IstartsWithExprPrefixExpression
+                   {-# LINE 1937 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 525 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x2IendsWithPrefixExpression
+                   {-# LINE 1942 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 526 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x1IisMultiline || _x2IisMultiline
+                   {-# LINE 1947 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1OparentOperatorPrecedence =
+                  ({-# LINE 527 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 1952 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1OparentOperatorAssociative =
+                  ({-# LINE 528 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 1957 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisDefined =
+                  ({-# LINE 291 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x2IisDefined
+                   {-# LINE 1962 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (_x1Icopy,_x2Icopy)
+                   {-# LINE 1967 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 1972 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x2Icomments
+                   {-# LINE 1977 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x2Ipretty
+                   {-# LINE 1982 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1Ocomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 1987 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1OforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 1992 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1Oindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 1997 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1Oppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2002 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2Ocomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x1Icomments
+                   {-# LINE 2007 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2OforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 2012 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2Oindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 2017 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2Oppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2022 "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 592 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2080 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 593 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIisMultiline
+                   {-# LINE 2085 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Just _justIcopy
+                   {-# LINE 2090 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2095 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIcomments
+                   {-# LINE 2100 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIpos
+                   {-# LINE 2105 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIpretty
+                   {-# LINE 2110 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2115 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 2120 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 2125 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2130 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 2135 "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
+              _lhsOisMultiline :: Bool
+              _lhsOelsesExist :: Bool
+              _lhsOcopy :: Else
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 595 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 2156 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 596 "src/GLua/AG/PrettyPrint.ag" #-}
+                   emptyRg
+                   {-# LINE 2161 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 597 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2166 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOelsesExist =
+                  ({-# LINE 327 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2171 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Nothing
+                   {-# LINE 2176 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2181 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2186 "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
+              _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 =
+                  ({-# LINE 567 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "elseif" <-> _x1Ipretty <-> zeroWidthText "then" $+$ _x2Ipretty
+                   {-# LINE 2249 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 568 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x1IisMultiline || _x2IisMultiline
+                   {-# LINE 2254 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2Oindent =
+                  ({-# LINE 569 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 2259 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2OstatRegion =
+                  ({-# LINE 570 "src/GLua/AG/PrettyPrint.ag" #-}
+                   emptyRg
+                   {-# LINE 2264 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1OparentOperatorPrecedence =
+                  ({-# LINE 571 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 2269 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1OparentOperatorAssociative =
+                  ({-# LINE 572 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2274 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (_x1Icopy,_x2Icopy)
+                   {-# LINE 2279 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2284 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x2Icomments
+                   {-# LINE 2289 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1Ocomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2294 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1OforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 2299 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1Oindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 2304 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x1Oppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2309 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2Ocomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _x1Icomments
+                   {-# LINE 2314 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2OforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 2319 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _x2Oppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2324 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 581 "src/GLua/AG/PrettyPrint.ag" #-}
+                   indent _lhsIppconf _lhsIindent _hdIpretty $+$ _tlIpretty
+                   {-# LINE 2387 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOelsesExist =
+                  ({-# LINE 582 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2392 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 583 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIpos
+                   {-# LINE 2397 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 584 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisMultiline || _tlIisMultiline
+                   {-# LINE 2402 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (:) _hdIcopy _tlIcopy
+                   {-# LINE 2407 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2412 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIcomments
+                   {-# LINE 2417 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2422 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 2427 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 2432 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2437 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIcomments
+                   {-# LINE 2442 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 2447 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 2452 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 2457 "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
+              _lhsOisMultiline :: Bool
+              _lhsOelsesExist :: Bool
+              _lhsOcopy :: ElseIfList
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 586 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 2479 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 587 "src/GLua/AG/PrettyPrint.ag" #-}
+                   emptyRg
+                   {-# LINE 2484 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 588 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2489 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOelsesExist =
+                  ({-# LINE 327 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2494 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   []
+                   {-# LINE 2499 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2504 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2509 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: Expr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 979 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "nil"
+                   {-# LINE 2575 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 980 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2580 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 981 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2585 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 982 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2590 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2595 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 2600 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ANil
+                   {-# LINE 2605 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2610 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2615 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: Expr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 984 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "false"
+                   {-# LINE 2638 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 985 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2643 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 986 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2648 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 987 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2653 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2658 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 2663 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AFalse
+                   {-# LINE 2668 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2673 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2678 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: Expr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 989 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "true"
+                   {-# LINE 2701 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 990 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2706 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 991 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2711 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 992 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2716 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2721 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 2726 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ATrue
+                   {-# LINE 2731 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2736 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2741 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: Expr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 994 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText num_
+                   {-# LINE 2765 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 995 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2770 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 996 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2775 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 997 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2780 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2785 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 2790 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ANumber num_
+                   {-# LINE 2795 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2800 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2805 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: Expr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 999 "src/GLua/AG/PrettyPrint.ag" #-}
+                   tok str_
+                   {-# LINE 2829 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 1000 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2834 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1001 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2839 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1002 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2844 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2849 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 2854 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AString str_
+                   {-# LINE 2859 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2864 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2869 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: Expr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 1004 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "..."
+                   {-# LINE 2892 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 1005 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 2897 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1006 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2902 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1007 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2907 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2912 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 2917 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AVarArg
+                   {-# LINE 2922 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 2927 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 2932 "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
+              _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 =
+                  ({-# LINE 1009 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline || _bodyIisMultiline
+                   {-# LINE 2967 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1010 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 2972 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _singleLinePretty =
+                  ({-# LINE 1011 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "function"
+                   <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) pars_)
+                   <-> _bodyIpretty
+                   <-> zeroWidthText "end"
+                   {-# LINE 2980 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _multilinePretty =
+                  ({-# LINE 1016 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "function"
+                   <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) pars_)
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 2988 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 1021 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                   <> zchr ','
+                   <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 2995 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _emptyParams =
+                  ({-# LINE 1025 "src/GLua/AG/PrettyPrint.ag" #-}
+                   toEmpty $ null pars_
+                   {-# LINE 3000 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 1026 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline     then _lhsIindent + 1 else 0
+                   {-# LINE 3005 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 1027 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline     then _multilinePretty     else _singleLinePretty
+                   {-# LINE 3010 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3015 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3020 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 3025 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AnonymousFunc pars_ _bodyIcopy
+                   {-# LINE 3030 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3035 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 3040 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 3045 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3050 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3055 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3060 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 3065 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1029 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _pexprIpretty
+                   {-# LINE 3105 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1030 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 3110 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1031 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _pexprIisMultiline
+                   {-# LINE 3115 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _pexprIisAssociative
+                   {-# LINE 3120 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _pexprIisLiteral
+                   {-# LINE 3125 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _pexprIprecedence
+                   {-# LINE 3130 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   APrefixExpr _pexprIcopy
+                   {-# LINE 3135 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3140 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _pexprIcomments
+                   {-# LINE 3145 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _pexprOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3150 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _pexprOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3155 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _pexprOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3160 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _pexprOparentOperatorAssociative =
+                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorAssociative
+                   {-# LINE 3165 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _pexprOparentOperatorPrecedence =
+                  ({-# LINE 274 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorPrecedence
+                   {-# LINE 3170 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _pexprOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3175 "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
+              _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 =
+                  ({-# LINE 1033 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline     then _prettyMulti     else _prettySingle
+                   {-# LINE 3211 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _isMultiline =
+                  ({-# LINE 1034 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline || _fieldsIisMultiline
+                   {-# LINE 3216 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 1035 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 3221 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1036 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3226 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettyMulti =
+                  ({-# LINE 1037 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zchr '{' $+$ _fieldsIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')
+                   {-# LINE 3231 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettySingle =
+                  ({-# LINE 1038 "src/GLua/AG/PrettyPrint.ag" #-}
+                   braces _lhsIppconf _emptyContents     _fieldsIpretty
+                   {-# LINE 3236 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _emptyContents =
+                  ({-# LINE 1039 "src/GLua/AG/PrettyPrint.ag" #-}
+                   toEmpty $ null _fieldsIcopy
+                   {-# LINE 3241 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fieldsOindent =
+                  ({-# LINE 1040 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + (if _fieldsIisMultiline then 1 else 0)
+                   {-# LINE 3246 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fieldsOsomeElementsInListAreMultiline =
+                  ({-# LINE 1041 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3251 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3256 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 3261 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ATableConstructor _fieldsIcopy
+                   {-# LINE 3266 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3271 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _fieldsIcomments
+                   {-# LINE 3276 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 3281 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fieldsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3286 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fieldsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3291 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fieldsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3296 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1043 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _leftIpretty <-> _opIpretty <-> _rightIpretty
+                   {-# LINE 3363 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1044 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _rightIendsWithPrefixExpression
+                   {-# LINE 3368 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1047 "src/GLua/AG/PrettyPrint.ag" #-}
+                   min _opIprecedence $ min _leftIprecedence _rightIprecedence
+                   {-# LINE 3373 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1048 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _leftIisMultiline || _rightIisMultiline
+                   {-# LINE 3378 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _leftOparentOperatorPrecedence =
+                  ({-# LINE 1049 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIprecedence
+                   {-# LINE 3383 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOparentOperatorPrecedence =
+                  ({-# LINE 1050 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIprecedence
+                   {-# LINE 3388 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _leftOparentOperatorAssociative =
+                  ({-# LINE 1051 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIisAssociative
+                   {-# LINE 3393 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOparentOperatorAssociative =
+                  ({-# LINE 1052 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIisAssociative
+                   {-# LINE 3398 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIisAssociative && _leftIisAssociative && _rightIisAssociative
+                   {-# LINE 3403 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ((\_ _ -> False) _leftIisLiteral _rightIisLiteral)
+                   {-# LINE 3408 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   BinOpExpr _opIcopy _leftIcopy _rightIcopy
+                   {-# LINE 3413 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3418 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _rightIcomments
+                   {-# LINE 3423 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _opOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3428 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _opOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3433 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _opOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3438 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _leftOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIcomments
+                   {-# LINE 3443 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _leftOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3448 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _leftOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3453 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _leftOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3458 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _leftIcomments
+                   {-# LINE 3463 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3468 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3473 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3478 "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
+              _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 =
+                  ({-# LINE 1054 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIpretty <> _rightIpretty
+                   {-# LINE 3531 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 1055 "src/GLua/AG/PrettyPrint.ag" #-}
+                   min _rightIprecedence OperatorLevel7
+                   {-# LINE 3536 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 1056 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _rightIendsWithPrefixExpression
+                   {-# LINE 3541 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1057 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIisMultiline || _rightIisMultiline
+                   {-# LINE 3546 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOparentOperatorPrecedence =
+                  ({-# LINE 1058 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel7
+                   {-# LINE 3551 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _rightIisAssociative
+                   {-# LINE 3556 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _rightIisLiteral
+                   {-# LINE 3561 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   UnOpExpr _opIcopy _rightIcopy
+                   {-# LINE 3566 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3571 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _rightIcomments
+                   {-# LINE 3576 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _opOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3581 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _opOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3586 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _opOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3591 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _opIcomments
+                   {-# LINE 3596 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3601 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3606 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOparentOperatorAssociative =
+                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorAssociative
+                   {-# LINE 3611 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _rightOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3616 "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
+              _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 =
+                  ({-# LINE 614 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIpretty <> _tlIpretty
+                   {-# LINE 3680 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 615 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisMultiline || _tlIisMultiline
+                   {-# LINE 3685 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisAssociative && _tlIisAssociative
+                   {-# LINE 3690 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (min _hdIprecedence _tlIprecedence)
+                   {-# LINE 3695 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (:) _hdIcopy _tlIcopy
+                   {-# LINE 3700 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3705 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIcomments
+                   {-# LINE 3710 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3715 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3720 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3725 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3730 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIcomments
+                   {-# LINE 3735 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3740 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3745 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3750 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: ExprSuffixList
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 617 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 3772 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 618 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3777 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 3782 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 3787 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   []
+                   {-# LINE 3792 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3797 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3802 "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 ->
+               ( ([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 =
+                  ({-# LINE 1087 "src/GLua/AG/PrettyPrint.ag" #-}
+                   brackets _lhsIppconf _keyIpretty <-> zchr '=' <-> _valueIpretty <> _sepIpretty
+                   {-# LINE 3883 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1088 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 3888 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _keyOparentOperatorPrecedence =
+                  ({-# LINE 1089 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 3893 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _keyOparentOperatorAssociative =
+                  ({-# LINE 1090 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 3898 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOparentOperatorPrecedence =
+                  ({-# LINE 1091 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 3903 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOparentOperatorAssociative =
+                  ({-# LINE 1092 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 3908 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisSemiColon =
+                  ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _sepIisSemiColon
+                   {-# LINE 3913 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ExprField _keyIcopy _valueIcopy _sepIcopy
+                   {-# LINE 3918 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 3923 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIcomments
+                   {-# LINE 3928 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIpos
+                   {-# LINE 3933 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _keyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 3938 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _keyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3943 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _keyOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3948 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _keyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3953 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _keyIcomments
+                   {-# LINE 3958 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 3963 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3968 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3973 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _sepOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 3978 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _sepOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 3983 "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
+              ( _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 =
+                  ({-# LINE 1094 "src/GLua/AG/PrettyPrint.ag" #-}
+                   tok key_ <-> zchr '=' <-> _valueIpretty <> _sepIpretty
+                   {-# LINE 4031 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1095 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 4036 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOparentOperatorPrecedence =
+                  ({-# LINE 1096 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 4041 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOparentOperatorAssociative =
+                  ({-# LINE 1097 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 4046 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisSemiColon =
+                  ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _sepIisSemiColon
+                   {-# LINE 4051 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   NamedField key_ _valueIcopy _sepIcopy
+                   {-# LINE 4056 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4061 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIcomments
+                   {-# LINE 4066 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIpos
+                   {-# LINE 4071 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 4076 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4081 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4086 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4091 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _sepOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4096 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _sepOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4101 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1099 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIpretty <> _sepIpretty
+                   {-# LINE 4146 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1100 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIisMultiline || _sepIisMultiline
+                   {-# LINE 4151 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOparentOperatorPrecedence =
+                  ({-# LINE 1101 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 4156 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOparentOperatorAssociative =
+                  ({-# LINE 1102 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 4161 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisSemiColon =
+                  ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _sepIisSemiColon
+                   {-# LINE 4166 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   UnnamedField _valueIcopy _sepIcopy
+                   {-# LINE 4171 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4176 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIcomments
+                   {-# LINE 4181 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valueIpos
+                   {-# LINE 4186 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 4191 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4196 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4201 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valueOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4206 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _sepOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4211 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _sepOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4216 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 468 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline
+                   then renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore    )
+                       $+$ indent _lhsIppconf _lhsIindent _hdIpretty
+                       <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
+                       $+$ _tlIpretty
+                   else _hdIpretty
+                       `_optionalSpaceAfterSep    ` _tlIpretty
+                   {-# LINE 4287 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisNil =
+                  ({-# LINE 476 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4292 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _optionalSpaceAfterSep =
+                  ({-# LINE 478 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if spaceAfterComma _lhsIppconf then (<->) else (<>)
+                   {-# LINE 4297 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _isMultiline =
+                  ({-# LINE 480 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   || _hdIisMultiline
+                   || _tlIisMultiline
+                   || _lhsIsomeElementsInListAreMultiline
+                   || not (null $ fst _commentsBefore    )
+                   || not (null $ fst _commentsAfter    )
+                   {-# LINE 4307 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOsomeElementsInListAreMultiline =
+                  ({-# LINE 488 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIsomeElementsInListAreMultiline
+                   || _hdIisMultiline
+                   || not (null $ fst _commentsBefore    )
+                   || not (null $ fst _commentsAfter    )
+                   {-# LINE 4315 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsBefore =
+                  ({-# LINE 494 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `before` _hdIpos) _lhsIcomments
+                   {-# LINE 4320 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOcomments =
+                  ({-# LINE 495 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsBefore
+                   {-# LINE 4325 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfter =
+                  ({-# LINE 496 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` _hdIpos) _hdIcomments
+                   {-# LINE 4330 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOcomments =
+                  ({-# LINE 498 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfter
+                   {-# LINE 4335 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 499 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIcomments
+                   {-# LINE 4340 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (:) _hdIcopy _tlIcopy
+                   {-# LINE 4345 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4350 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 4355 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4360 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4365 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4370 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4375 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4380 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4385 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 502 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 4407 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisNil =
+                  ({-# LINE 503 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 4412 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 504 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4417 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   []
+                   {-# LINE 4422 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4427 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 4432 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 1106 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ','
+                   {-# LINE 4468 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1107 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4473 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisSemiColon =
+                  ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4478 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   CommaSep
+                   {-# LINE 4483 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4488 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 1109 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ';'
+                   {-# LINE 4502 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisSemiColon =
+                  ({-# LINE 1110 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 4507 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1113 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 4512 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   SemicolonSep
+                   {-# LINE 4517 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4522 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 1115 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 4536 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1116 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4541 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisSemiColon =
+                  ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4546 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   NoSep
+                   {-# LINE 4551 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4556 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 893 "src/GLua/AG/PrettyPrint.ag" #-}
+                   printList tok "." names_ <> metaDoc meta_
+                   {-# LINE 4593 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 894 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4598 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 895 "src/GLua/AG/PrettyPrint.ag" #-}
+                   case meta_ of
+                       Nothing -> _namesPos
+                       Just name -> rgOr _namesPos     (mpos name)
+                   {-# LINE 4605 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _namesPos =
+                  ({-# LINE 899 "src/GLua/AG/PrettyPrint.ag" #-}
+                   foldl1 rgOr $ map mpos names_
+                   {-# LINE 4610 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   FuncName names_ meta_
+                   {-# LINE 4615 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4620 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 4625 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 601 "src/GLua/AG/PrettyPrint.ag" #-}
+                   indent _lhsIppconf _lhsIindent (zeroWidthText "else")
+                   <-> _prettyCommentsAfter
+                   $+$ _bodyIpretty
+                   {-# LINE 4679 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 605 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIisMultiline
+                   {-# LINE 4684 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 606 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 4689 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettyCommentsAfter =
+                  ({-# LINE 607 "src/GLua/AG/PrettyPrint.ag" #-}
+                   renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
+                   {-# LINE 4694 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfter =
+                  ({-# LINE 608 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` pos_) _lhsIcomments
+                   {-# LINE 4699 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 609 "src/GLua/AG/PrettyPrint.ag" #-}
+                   pos_
+                   {-# LINE 4704 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 610 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfter
+                   {-# LINE 4709 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOelsesExist =
+                  ({-# LINE 327 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 4714 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   MElse pos_ _bodyIcopy
+                   {-# LINE 4719 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4724 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 4729 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4734 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4739 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 4744 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 576 "src/GLua/AG/PrettyPrint.ag" #-}
+                   pos_
+                   {-# LINE 4793 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 577 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _elifIisMultiline
+                   {-# LINE 4798 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   MElseIf pos_ _elifIcopy
+                   {-# LINE 4803 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4808 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _elifIcomments
+                   {-# LINE 4813 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _elifIpretty
+                   {-# LINE 4818 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 4823 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4828 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4833 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4838 "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
+              _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 =
+                  ({-# LINE 972 "src/GLua/AG/PrettyPrint.ag" #-}
+                   pos_
+                   {-# LINE 4902 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 973 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIendsWithPrefixExpression
+                   {-# LINE 4907 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 974 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIisMultiline
+                   {-# LINE 4912 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOstatRegion =
+                  ({-# LINE 975 "src/GLua/AG/PrettyPrint.ag" #-}
+                   pos_
+                   {-# LINE 4917 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIisAssociative
+                   {-# LINE 4922 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIisLiteral
+                   {-# LINE 4927 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIprecedence
+                   {-# LINE 4932 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   MExpr pos_ _exprIcopy
+                   {-# LINE 4937 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 4942 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIcomments
+                   {-# LINE 4947 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIpretty
+                   {-# LINE 4952 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 4957 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 4962 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 4967 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOparentOperatorAssociative =
+                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorAssociative
+                   {-# LINE 4972 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOparentOperatorPrecedence =
+                  ({-# LINE 274 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorPrecedence
+                   {-# LINE 4977 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 4982 "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 ->
+                   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 =
+                  ({-# LINE 417 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline     then _prettyMultiLine     else _prettySingleLine
+                   {-# LINE 5056 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettySingleLine =
+                  ({-# LINE 418 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIpretty
+                   <> _comma
+                   <> _tlIpretty
+                   {-# LINE 5063 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _prettyMultiLine =
+                  ({-# LINE 422 "src/GLua/AG/PrettyPrint.ag" #-}
+                   renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine    )
+                   $+$ indent _lhsIppconf _lhsIindent _hdIpretty
+                   <> _comma
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
+                   $+$ _tlIpretty
+                   {-# LINE 5072 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 428 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _tlIisLast then
+                       empty
+                   else
+                       (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                       <> zchr ','
+                       <> (if not _isMultiline     && spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 5082 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsBeforeLine =
+                  ({-# LINE 436 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments
+                   {-# LINE 5087 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOcomments =
+                  ({-# LINE 437 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsBeforeLine
+                   {-# LINE 5092 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfter =
+                  ({-# LINE 438 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos' _) -> pos' `before` _tlIpos) _hdIcomments
+                   {-# LINE 5097 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOcomments =
+                  ({-# LINE 439 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfter
+                   {-# LINE 5102 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 440 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIcomments
+                   {-# LINE 5107 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 442 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIpos
+                   {-# LINE 5112 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLast =
+                  ({-# LINE 443 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5117 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOparentOperatorPrecedence =
+                  ({-# LINE 444 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 5122 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOparentOperatorAssociative =
+                  ({-# LINE 445 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 5127 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _isMultiline =
+                  ({-# LINE 446 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   || not (null $ fst _commentsBeforeLine    )
+                   || not (null $ fst _commentsAfter    )
+                   || _lhsIsomeElementsInListAreMultiline
+                   || _hdIisMultiline
+                   || _tlIisMultiline
+                   {-# LINE 5137 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOsomeElementsInListAreMultiline =
+                  ({-# LINE 454 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIsomeElementsInListAreMultiline
+                   || _hdIisMultiline
+                   || not (null $ fst _commentsBeforeLine    )
+                   || not (null $ fst _commentsAfter    )
+                   {-# LINE 5145 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisAssociative && _tlIisAssociative
+                   {-# LINE 5150 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (min _hdIprecedence _tlIprecedence)
+                   {-# LINE 5155 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (:) _hdIcopy _tlIcopy
+                   {-# LINE 5160 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5165 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 5170 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 5175 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5180 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5185 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 5190 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5195 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5200 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 461 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 5225 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpos =
+                  ({-# LINE 462 "src/GLua/AG/PrettyPrint.ag" #-}
+                   emptyRg
+                   {-# LINE 5230 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 463 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5235 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLast =
+                  ({-# LINE 464 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 5240 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5245 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 5250 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   []
+                   {-# LINE 5255 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5260 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 5265 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 408 "src/GLua/AG/PrettyPrint.ag" #-}
+                   pos_
+                   {-# LINE 5324 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 409 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statIstartsWithExprPrefixExpression
+                   {-# LINE 5329 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 410 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statIendsWithPrefixExpression
+                   {-# LINE 5334 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 411 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statIisMultiline
+                   {-# LINE 5339 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOstatRegion =
+                  ({-# LINE 412 "src/GLua/AG/PrettyPrint.ag" #-}
+                   pos_
+                   {-# LINE 5344 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOwouldBeAmbiguousWithoutSemicolon =
+                  ({-# LINE 413 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIwouldBeAmbiguousWithoutSemicolon
+                   {-# LINE 5349 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstatementCount =
+                  ({-# LINE 324 "src/GLua/AG/PrettyPrint.ag" #-}
+                   1
+                   {-# LINE 5354 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   MStat pos_ _statIcopy
+                   {-# LINE 5359 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5364 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statIcomments
+                   {-# LINE 5369 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _statIpretty
+                   {-# LINE 5374 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 5379 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 5384 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5389 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOisLastStatement =
+                  ({-# LINE 307 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIisLastStatement
+                   {-# LINE 5394 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _statOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5399 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 367 "src/GLua/AG/PrettyPrint.ag" #-}
+                   renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine    )
+                   $+$ indent _lhsIppconf _lhsIindent _hdIpretty
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter    )
+                   <> _addNewline
+                   $+$ _tlIpretty
+                   {-# LINE 5474 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 373 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIstartsWithExprPrefixExpression
+                   {-# LINE 5479 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLast =
+                  ({-# LINE 374 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5484 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _isMultiline =
+                  ({-# LINE 376 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisMultiline
+                   || _tlIisMultiline
+                   || not (null $ fst _commentsBeforeLine    )
+                   || not (null $ fst _commentsAfter    )
+                   {-# LINE 5492 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _addNewline =
+                  ({-# LINE 381 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if not _tlIisLast && _hdIisMultiline then zchr '\n' else empty
+                   {-# LINE 5497 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsBeforeLine =
+                  ({-# LINE 384 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments
+                   {-# LINE 5502 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOcomments =
+                  ({-# LINE 385 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsBeforeLine
+                   {-# LINE 5507 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfter =
+                  ({-# LINE 386 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos' _) -> pos' `beforeOrOnLine` _hdIpos) _hdIcomments
+                   {-# LINE 5512 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOcomments =
+                  ({-# LINE 387 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfter
+                   {-# LINE 5517 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 388 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIcomments
+                   {-# LINE 5522 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOisLastStatement =
+                  ({-# LINE 390 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIisLast
+                   {-# LINE 5527 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOwouldBeAmbiguousWithoutSemicolon =
+                  ({-# LINE 396 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIendsWithPrefixExpression && _tlIstartsWithExprPrefixExpression
+                   {-# LINE 5532 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOforceMultiline =
+                  ({-# LINE 398 "src/GLua/AG/PrettyPrint.ag" #-}
+                   commentsForceMultiline $ fst _commentsBeforeLine
+                   {-# LINE 5537 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstatementCount =
+                  ({-# LINE 324 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIstatementCount + _tlIstatementCount
+                   {-# LINE 5542 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (:) _hdIcopy _tlIcopy
+                   {-# LINE 5547 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5552 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 5557 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5562 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5567 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 5572 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5577 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5582 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 5587 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 400 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 5611 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstatementCount =
+                  ({-# LINE 401 "src/GLua/AG/PrettyPrint.ag" #-}
+                   0
+                   {-# LINE 5616 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 402 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5621 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 403 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5626 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLast =
+                  ({-# LINE 404 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 5631 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   []
+                   {-# LINE 5636 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5641 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 5646 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 508 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIpretty
+                   {-# LINE 5704 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisDefined =
+                  ({-# LINE 509 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 5709 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 510 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIendsWithPrefixExpression
+                   {-# LINE 5714 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 511 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIisMultiline
+                   {-# LINE 5719 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOparentOperatorPrecedence =
+                  ({-# LINE 512 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 5724 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOparentOperatorAssociative =
+                  ({-# LINE 513 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 5729 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIisAssociative
+                   {-# LINE 5734 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIprecedence
+                   {-# LINE 5739 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Just _justIcopy
+                   {-# LINE 5744 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5749 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _justIcomments
+                   {-# LINE 5754 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 5759 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 5764 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5769 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _justOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5774 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: MaybeMExpr
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 515 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 5796 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisDefined =
+                  ({-# LINE 516 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5801 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 517 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5806 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 518 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5811 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5816 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 5821 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Nothing
+                   {-# LINE 5826 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5831 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 5836 "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
+              _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 =
+                  ({-# LINE 956 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIpretty
+                   {-# LINE 5889 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 957 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIisMultiline
+                   {-# LINE 5894 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5899 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 5904 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Call _argsIcopy
+                   {-# LINE 5909 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5914 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIcomments
+                   {-# LINE 5919 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 5924 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 5929 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 5934 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 5939 "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
+              _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 =
+                  ({-# LINE 959 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zchr ':' <> tok fn_ <> _argsIpretty
+                   {-# LINE 5969 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 960 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIisMultiline
+                   {-# LINE 5974 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 5979 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 5984 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   MetaCall fn_ _argsIcopy
+                   {-# LINE 5989 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 5994 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _argsIcomments
+                   {-# LINE 5999 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6004 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6009 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6014 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _argsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6019 "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
+              _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 =
+                  ({-# LINE 962 "src/GLua/AG/PrettyPrint.ag" #-}
+                   brackets _lhsIppconf _indexIpretty
+                   {-# LINE 6055 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 963 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _indexIisMultiline
+                   {-# LINE 6060 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _indexOparentOperatorPrecedence =
+                  ({-# LINE 964 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 6065 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _indexOparentOperatorAssociative =
+                  ({-# LINE 965 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 6070 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _indexIisAssociative
+                   {-# LINE 6075 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _indexIprecedence
+                   {-# LINE 6080 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ExprIndex _indexIcopy
+                   {-# LINE 6085 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6090 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _indexIcomments
+                   {-# LINE 6095 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _indexOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6100 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _indexOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6105 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _indexOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6110 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _indexOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6115 "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
+              _lhsOisMultiline :: Bool
+              _lhsOisAssociative :: Bool
+              _lhsOprecedence :: OperatorLevel
+              _lhsOcopy :: PFExprSuffix
+              _lhsOcomments :: ([MToken])
+              _lhsOpretty =
+                  ({-# LINE 967 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zchr '.' <> tok index_
+                   {-# LINE 6136 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 968 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6141 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6146 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   OperatorLevel8
+                   {-# LINE 6151 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   DotIndex index_
+                   {-# LINE 6156 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6161 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6166 "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
+              _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 =
+                  ({-# LINE 903 "src/GLua/AG/PrettyPrint.ag" #-}
+                   tok name_ <> _suffixesIpretty
+                   {-# LINE 6224 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 904 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6229 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 905 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6234 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 906 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _suffixesIisMultiline
+                   {-# LINE 6239 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _suffixesIisAssociative
+                   {-# LINE 6244 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _suffixesIprecedence
+                   {-# LINE 6249 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   PFVar name_ _suffixesIcopy
+                   {-# LINE 6254 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6259 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _suffixesIcomments
+                   {-# LINE 6264 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6269 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6274 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6279 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6284 "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
+              _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 =
+                  ({-# LINE 908 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if _noparens     then _exprIpretty else parens _lhsIppconf NonEmpty _exprIpretty)
+                   <> _suffixesIpretty
+                   {-# LINE 6336 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOprecedence =
+                  ({-# LINE 911 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _noparens     then _exprIprecedence else OperatorLevel8
+                   {-# LINE 6341 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLiteral =
+                  ({-# LINE 912 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6346 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 913 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 6351 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 914 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIisMultiline || _suffixesIisMultiline
+                   {-# LINE 6356 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _containsParenthesizedExpr =
+                  ({-# LINE 918 "src/GLua/AG/PrettyPrint.ag" #-}
+                   case _exprIcopy of
+                       MExpr _ (APrefixExpr (ExprVar (MExpr _ AVarArg) _)) -> False
+                       MExpr _ (APrefixExpr _) -> True
+                       _ -> False
+                   {-# LINE 6364 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _noparens =
+                  ({-# LINE 924 "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 6380 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisAssociative =
+                  ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIisAssociative && _suffixesIisAssociative
+                   {-# LINE 6385 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ExprVar _exprIcopy _suffixesIcopy
+                   {-# LINE 6390 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6395 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _suffixesIcomments
+                   {-# LINE 6400 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6405 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6410 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6415 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOparentOperatorAssociative =
+                  ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorAssociative
+                   {-# LINE 6420 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOparentOperatorPrecedence =
+                  ({-# LINE 274 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIparentOperatorPrecedence
+                   {-# LINE 6425 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6430 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprIcomments
+                   {-# LINE 6435 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6440 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6445 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _suffixesOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6450 "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,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 =
+                  ({-# LINE 642 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIpretty <> _semicolon
+                   {-# LINE 6541 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 643 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIstartsWithExprPrefixExpression
+                   {-# LINE 6546 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 644 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIendsWithPrefixExpression
+                   {-# LINE 6551 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 645 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIisMultiline
+                   {-# LINE 6556 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 646 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon
+                   then zchr ';'
+                   else empty
+                   {-# LINE 6563 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   Def _varsIcopy
+                   {-# LINE 6568 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6573 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIcomments
+                   {-# LINE 6578 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6583 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6588 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6593 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6598 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 651 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "local" <-> _varsIpretty <> _semicolon
+                   {-# LINE 6636 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 652 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIstartsWithExprPrefixExpression
+                   {-# LINE 6641 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 653 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIendsWithPrefixExpression
+                   {-# LINE 6646 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 654 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIisMultiline
+                   {-# LINE 6651 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 655 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon
+                   then zchr ';'
+                   else empty
+                   {-# LINE 6658 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   LocDef _varsIcopy
+                   {-# LINE 6663 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6668 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varsIcomments
+                   {-# LINE 6673 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6678 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6683 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6688 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6693 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 660 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _fnIpretty <> _semicolon
+                   {-# LINE 6731 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 661 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _fnIisMultiline
+                   {-# LINE 6736 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 662 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf then zchr ';' else empty
+                   {-# LINE 6741 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 663 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _fnIstartsWithExprPrefixExpression
+                   {-# LINE 6746 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 664 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 6751 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fnOparentOperatorPrecedence =
+                  ({-# LINE 665 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 6756 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fnOparentOperatorAssociative =
+                  ({-# LINE 666 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 6761 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AFuncCall _fnIcopy
+                   {-# LINE 6766 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6771 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _fnIcomments
+                   {-# LINE 6776 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fnOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6781 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fnOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 6786 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fnOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 6791 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _fnOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 6796 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 668 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "::"
+                   <> _whitespace
+                   <> tok lbl_
+                   <> _whitespace
+                   <> zeroWidthText "::"
+                   {-# LINE 6824 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 674 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6829 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 675 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6834 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 676 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6839 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _whitespace =
+                  ({-# LINE 677 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if spaceAfterLabel _lhsIppconf then zeroWidthText " " else empty
+                   {-# LINE 6844 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ALabel lbl_
+                   {-# LINE 6849 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6854 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6859 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 679 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "break" <> _semicolon
+                   {-# LINE 6880 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 680 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6885 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 681 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6890 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 682 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6895 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 683 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf then zchr ';' else empty
+                   {-# LINE 6900 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ABreak
+                   {-# LINE 6905 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6910 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6915 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 685 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "continue" <> _semicolon
+                   {-# LINE 6936 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 686 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6941 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 687 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6946 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 688 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6951 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 689 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf then zchr ';' else empty
+                   {-# LINE 6956 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AContinue
+                   {-# LINE 6961 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 6966 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 6971 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 691 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "goto" <-> tok lbl_ <> _semicolon
+                   {-# LINE 6993 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 692 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 6998 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 693 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7003 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 694 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7008 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _semicolon =
+                  ({-# LINE 695 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if semicolons _lhsIppconf then zchr ';' else empty
+                   {-# LINE 7013 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AGoto lbl_
+                   {-# LINE 7018 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 7023 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 7028 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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 =
+                  ({-# LINE 697 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7060 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 698 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "do"
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 7067 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 702 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7072 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 703 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7077 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 704 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 7082 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ADo _bodyIcopy
+                   {-# LINE 7087 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 7092 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 7097 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 7102 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7107 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7112 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 7117 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 706 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7167 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 707 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7172 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 708 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7177 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOparentOperatorPrecedence =
+                  ({-# LINE 709 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 7182 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOparentOperatorAssociative =
+                  ({-# LINE 710 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7187 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 711 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "while"
+                   <-> _condIpretty
+                   <-> zeroWidthText "do"
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 7196 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 717 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 7201 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AWhile _condIcopy _bodyIcopy
+                   {-# LINE 7206 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 7211 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 7216 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 7221 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7226 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7231 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7236 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _condIcomments
+                   {-# LINE 7241 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7246 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7251 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 7256 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 719 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "repeat"
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "until" <-> _condIpretty)
+                   {-# LINE 7310 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 723 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7315 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 724 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7320 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 725 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7325 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 726 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 7330 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOparentOperatorPrecedence =
+                  ({-# LINE 727 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 7335 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOparentOperatorAssociative =
+                  ({-# LINE 728 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7340 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ARepeat _bodyIcopy _condIcopy
+                   {-# LINE 7345 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 7350 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _condIcomments
+                   {-# LINE 7355 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 7360 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7365 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7370 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 7375 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 7380 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7385 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7390 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7395 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 730 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   || _condIisMultiline
+                   || _bodyIisMultiline
+                   || _elifsIelsesExist
+                   || _elsIelsesExist
+                   {-# LINE 7474 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 736 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7479 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 737 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7484 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _singleLinePretty =
+                  ({-# LINE 738 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "if"
+                   <-> _condIpretty
+                   <-> zeroWidthText "then"
+                   <-> _bodyIpretty
+                   <-> zeroWidthText "end"
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen    )
+                   {-# LINE 7494 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _multilinePretty =
+                  ({-# LINE 745 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "if"
+                   <-> _condIpretty
+                   <-> zeroWidthText "then"
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen    )
+                   $+$ _bodyIpretty
+                   $+$ _elifsIpretty
+                   $+$ _elsIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 7506 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfterThen =
+                  ({-# LINE 755 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` _condIpos) _lhsIcomments
+                   {-# LINE 7511 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOcomments =
+                  ({-# LINE 757 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfterThen
+                   {-# LINE 7516 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOparentOperatorPrecedence =
+                  ({-# LINE 759 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 7521 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOparentOperatorAssociative =
+                  ({-# LINE 760 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7526 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 761 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline     then _lhsIindent + 1 else 0
+                   {-# LINE 7531 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 762 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion `upto` _elifsIpos `upto` _elsIpos
+                   {-# LINE 7536 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 763 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _isMultiline     then _multilinePretty     else _singleLinePretty
+                   {-# LINE 7541 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy
+                   {-# LINE 7546 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 7551 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _elsIcomments
+                   {-# LINE 7556 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isMultiline
+                   {-# LINE 7561 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7566 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7571 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _condOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7576 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _condIcomments
+                   {-# LINE 7581 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7586 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7591 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 7596 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7601 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7606 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elifsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7611 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _elifsIcomments
+                   {-# LINE 7616 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elsOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7621 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7626 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7631 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _elsOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 7636 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 765 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7725 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 766 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7730 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 767 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7735 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _step =
+                  ({-# LINE 768 "src/GLua/AG/PrettyPrint.ag" #-}
+                   case _stepIcopy of
+                       MExpr _ (ANumber "1") -> empty
+                       _ -> _comma     <> _stepIpretty
+                   {-# LINE 7742 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 771 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "for"
+                   <-> tok var_
+                   <-> zchr '='
+                   <-> _valIpretty
+                   <> _comma
+                   <> _toIpretty
+                   <> _step
+                   <-> zeroWidthText "do"
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor    )
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 7757 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 783 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                   <> zchr ','
+                   <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 7764 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfterFor =
+                  ({-# LINE 787 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` mpos var_) _lhsIcomments
+                   {-# LINE 7769 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valOcomments =
+                  ({-# LINE 789 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfterFor
+                   {-# LINE 7774 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valOparentOperatorPrecedence =
+                  ({-# LINE 790 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 7779 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valOparentOperatorAssociative =
+                  ({-# LINE 791 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7784 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _toOparentOperatorPrecedence =
+                  ({-# LINE 792 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 7789 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _toOparentOperatorAssociative =
+                  ({-# LINE 793 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7794 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _stepOparentOperatorPrecedence =
+                  ({-# LINE 794 "src/GLua/AG/PrettyPrint.ag" #-}
+                   TopLevelExpression
+                   {-# LINE 7799 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _stepOparentOperatorAssociative =
+                  ({-# LINE 795 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7804 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 796 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 7809 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ANFor var_ _valIcopy _toIcopy _stepIcopy _bodyIcopy
+                   {-# LINE 7814 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 7819 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 7824 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7829 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7834 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7839 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _toOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valIcomments
+                   {-# LINE 7844 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _toOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7849 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _toOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7854 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _toOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7859 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _stepOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _toIcomments
+                   {-# LINE 7864 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _stepOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7869 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _stepOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 7874 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _stepOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7879 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _stepIcomments
+                   {-# LINE 7884 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 7889 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 7894 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 7899 "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,_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 =
+                  ({-# LINE 798 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 7954 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 799 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7959 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 800 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 7964 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 801 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "for"
+                   <-> printList tok (render _comma    ) vars_
+                   <-> zeroWidthText "in"
+                   <-> _valsIpretty
+                   <-> zeroWidthText "do"
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor    )
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 7976 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 810 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 7981 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 811 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                   <> zchr ','
+                   <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 7988 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfterFor =
+                  ({-# LINE 815 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` mpos (head vars_)) _lhsIcomments
+                   {-# LINE 7993 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valsOcomments =
+                  ({-# LINE 817 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfterFor
+                   {-# LINE 7998 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valsOforceMultiline =
+                  ({-# LINE 819 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8003 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valsOsomeElementsInListAreMultiline =
+                  ({-# LINE 820 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8008 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AGFor vars_ _valsIcopy _bodyIcopy
+                   {-# LINE 8013 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8018 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 8023 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valsOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 8028 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _valsOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8033 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _valsIcomments
+                   {-# LINE 8038 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 8043 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8048 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 8053 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 822 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 8099 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 823 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8104 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 824 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8109 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 825 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "function"
+                   <-> _nameIpretty
+                   <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) args_)
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc    )
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 8119 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfterFunc =
+                  ({-# LINE 832 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments
+                   {-# LINE 8124 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _nameOcomments =
+                  ({-# LINE 834 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfterFunc
+                   {-# LINE 8129 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _emptyParams =
+                  ({-# LINE 835 "src/GLua/AG/PrettyPrint.ag" #-}
+                   toEmpty $ null args_
+                   {-# LINE 8134 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 836 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                   <> zchr ','
+                   <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 8141 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 840 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 8146 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AFunc _nameIcopy args_ _bodyIcopy
+                   {-# LINE 8151 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8156 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 8161 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _nameOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 8166 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _nameOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8171 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _nameIcomments
+                   {-# LINE 8176 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 8181 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8186 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 8191 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 842 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 8237 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOpretty =
+                  ({-# LINE 843 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "local function"
+                   <-> _nameIpretty
+                   <> parens _lhsIppconf _emptyParams     (printList tok (render _comma    ) args_)
+                   <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc    )
+                   $+$ _bodyIpretty
+                   $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")
+                   {-# LINE 8247 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 850 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8252 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 851 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8257 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _commentsAfterFunc =
+                  ({-# LINE 852 "src/GLua/AG/PrettyPrint.ag" #-}
+                   span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments
+                   {-# LINE 8262 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _nameOcomments =
+                  ({-# LINE 854 "src/GLua/AG/PrettyPrint.ag" #-}
+                   snd _commentsAfterFunc
+                   {-# LINE 8267 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _emptyParams =
+                  ({-# LINE 855 "src/GLua/AG/PrettyPrint.ag" #-}
+                   toEmpty $ null args_
+                   {-# LINE 8272 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 856 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                   <> zchr ','
+                   <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 8279 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOindent =
+                  ({-# LINE 860 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent + 1
+                   {-# LINE 8284 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ALocFunc _nameIcopy args_ _bodyIcopy
+                   {-# LINE 8289 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8294 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _bodyIcomments
+                   {-# LINE 8299 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _nameOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 8304 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _nameOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8309 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _nameIcomments
+                   {-# LINE 8314 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 8319 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8324 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _bodyOstatRegion =
+                  ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIstatRegion
+                   {-# LINE 8329 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 1197 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "-"
+                   {-# LINE 8371 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1198 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8376 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   UnMinus
+                   {-# LINE 8381 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8386 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 8391 "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 1200 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText (if cStyle _lhsIppconf then "!" else "not ")
+                   {-# LINE 8406 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1201 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8411 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   ANot
+                   {-# LINE 8416 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8421 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 8426 "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 1203 "src/GLua/AG/PrettyPrint.ag" #-}
+                   zeroWidthText "#"
+                   {-# LINE 8441 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 1204 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8446 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   AHash
+                   {-# LINE 8451 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8456 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 8461 "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 ->
+                  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 =
+                  ({-# LINE 532 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varPretty
+                   <-> if _isDefined     then zchr '=' <-> _exprPretty     else empty
+                   {-# LINE 8533 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 535 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIstartsWithExprPrefixExpression
+                   {-# LINE 8538 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 536 "src/GLua/AG/PrettyPrint.ag" #-}
+                   if _tlIisDefined then _tlIendsWithPrefixExpression else _hdIendsWithPrefixExpression
+                   {-# LINE 8543 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 543 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisMultiline || _tlIisMultiline
+                   {-# LINE 8548 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _isDefined =
+                  ({-# LINE 544 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIisDefined || _tlIisDefined
+                   {-# LINE 8553 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _varPretty =
+                  ({-# LINE 545 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIvarPretty
+                   <> (if _tlIisLast then empty else _comma    )
+                   <> _tlIvarPretty
+                   {-# LINE 8560 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _exprPretty =
+                  ({-# LINE 549 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIexprPretty
+                   <> (if not _tlIisLast && _tlIisDefined then _comma     else empty)
+                   <> _tlIexprPretty
+                   {-# LINE 8567 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _comma =
+                  ({-# LINE 553 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)
+                   <> zchr ','
+                   <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)
+                   {-# LINE 8574 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLast =
+                  ({-# LINE 557 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8579 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOexprPretty =
+                  ({-# LINE 288 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _exprPretty
+                   {-# LINE 8584 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisDefined =
+                  ({-# LINE 291 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _isDefined
+                   {-# LINE 8589 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOvarPretty =
+                  ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _varPretty
+                   {-# LINE 8594 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   (:) _hdIcopy _tlIcopy
+                   {-# LINE 8599 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8604 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _tlIcomments
+                   {-# LINE 8609 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 8614 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 8619 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 8624 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _hdOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8629 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _hdIcomments
+                   {-# LINE 8634 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOforceMultiline =
+                  ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIforceMultiline
+                   {-# LINE 8639 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOindent =
+                  ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIindent
+                   {-# LINE 8644 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _tlOppconf =
+                  ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIppconf
+                   {-# LINE 8649 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              ( _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 =
+                  ({-# LINE 559 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 8675 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOstartsWithExprPrefixExpression =
+                  ({-# LINE 560 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8680 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOendsWithPrefixExpression =
+                  ({-# LINE 561 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8685 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisMultiline =
+                  ({-# LINE 562 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8690 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisLast =
+                  ({-# LINE 563 "src/GLua/AG/PrettyPrint.ag" #-}
+                   True
+                   {-# LINE 8695 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOexprPretty =
+                  ({-# LINE 288 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 8700 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOisDefined =
+                  ({-# LINE 291 "src/GLua/AG/PrettyPrint.ag" #-}
+                   False
+                   {-# LINE 8705 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOvarPretty =
+                  ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}
+                   empty
+                   {-# LINE 8710 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _copy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   []
+                   {-# LINE 8715 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcopy =
+                  ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _copy
+                   {-# LINE 8720 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+              _lhsOcomments =
+                  ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}
+                   _lhsIcomments
+                   {-# LINE 8725 "src/GLua/AG/PrettyPrint.hs" #-}
+                   )
+          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,90 +1,81 @@
+
+
 {-# LANGUAGE DeriveGeneric #-}
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
-
--- UUAGC 0.9.55 (src/GLua/AG/Token.ag)
+-- UUAGC 0.9.53.1 (src/GLua/AG/Token.ag)
 module GLua.AG.Token where
 
 {-# LINE 9 "src/GLua/AG/Token.ag" #-}
 
 import GHC.Generics
-import Text.ParserCombinators.UU.BasicInstances hiding (pos)
+import GLua.Position
 {-# 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)
-
 -- 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)
-
--- TokenList ---------------------------------------------------
-type TokenList = [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)
diff --git a/src/GLua/Lexer.hs b/src/GLua/Lexer.hs
--- a/src/GLua/Lexer.hs
+++ b/src/GLua/Lexer.hs
@@ -1,436 +1,350 @@
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE Rank2Types #-}
-{-# LANGUAGE NoMonomorphismRestriction #-}
 
--- | Lex GLua into MTokens
 module GLua.Lexer where
 
-import GLua.AG.Token (MToken (..), Region (..), Token (..))
+import GLua.AG.Token (MToken (..), Token (..))
 
 import Data.Char (ord)
-import Text.ParserCombinators.UU (
-  ExtAlternative (opt, (<<|>)),
-  P,
-  micro,
-  pEnd,
-  pErrors,
-  pMany,
-  pPos,
-  pReturn,
-  pSome,
+import GLua.Position (LineColPos (..), Region (..))
+import Text.Parsec (
+  ParseError,
+  SourcePos,
+  anyChar,
+  char,
+  digit,
+  endOfLine,
+  eof,
+  getPosition,
+  lookAhead,
+  many,
+  many1,
+  manyTill,
+  noneOf,
+  oneOf,
+  option,
+  optionMaybe,
   parse,
-  (<$$>),
-  (<**>),
- )
-import Text.ParserCombinators.UU.BasicInstances (
-  Error,
-  Insertion (Insertion),
-  LineColPos (..),
-  Str,
-  createStr,
-  pMunch,
-  pSatisfy,
-  pSym,
-  pToken,
+  satisfy,
+  sourceColumn,
+  sourceLine,
+  space,
+  string,
+  try,
+  (<?>),
+  (<|>),
  )
-import Text.ParserCombinators.UU.Utils (pDigit)
+import Text.Parsec.Pos (newPos)
+import Text.Parsec.String (Parser)
 
--- | String parser that maintains positions.
-type LParser a = P (Str Char String LineColPos) a
+-- | Region start to SourcePos
+rgStart2sp :: Region -> SourcePos
+rgStart2sp (Region start _) = lcp2sp start
 
--- | Whitespace parser that requires at least one whitespace character
-parseWhitespace :: LParser String
-parseWhitespace = pSome $ pSatisfy (`elem` " \r\n\t") (Insertion "Whitespace" ' ' 5)
+-- | Region end to SourcePos
+rgEnd2sp :: Region -> SourcePos
+rgEnd2sp (Region _ end) = lcp2sp end
 
--- | Whitespace parser that requires 0 or more whitespace characters
-parseOptionalWhitespace :: LParser String
-parseOptionalWhitespace = pMany $ pSatisfy (`elem` " \r\n\t") (Insertion "Whitespace" ' ' 5)
+-- | SourcePos to region
+sp2Rg :: SourcePos -> Region
+sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp)
 
--- | Blanco parser. Parses anything. Used in parsing comments.
-parseAnyChar :: LParser Char
-parseAnyChar = pSatisfy (const True) (Insertion "Any character" 'y' 5)
+-- | LineColPos to SourcePos
+lcp2sp :: LineColPos -> SourcePos
+lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1)
 
+-- | SourcePos to LineColPos
+sp2lcp :: SourcePos -> LineColPos
+sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0
+
+-- | Get the source position
+pPos :: Parser LineColPos
+pPos = sp2lcp <$> getPosition
+
 -- See luajit's src/lj_char.c and src/lj_char.h
-pIdentifierCharacter :: LParser Char
-pIdentifierCharacter = pSatisfy validChar (Insertion "Identifying character (letter, number, emoji)" 'a' 5)
+pIdentifierCharacter :: Parser Char
+pIdentifierCharacter = satisfy validChar
   where
     validChar :: Char -> Bool
     validChar c =
-      between c '0' '9'
-        || between c 'A' 'Z'
+      cBetween c '0' '9'
+        || cBetween c 'A' 'Z'
         || c == '_'
-        || between c 'a' 'z'
+        || cBetween c 'a' 'z'
         || ord c >= 128
 
-pNonDigitIdentifierCharacter :: LParser Char
-pNonDigitIdentifierCharacter = pSatisfy validChar (Insertion "Identifying character (letter, emoji)" 'a' 5)
+pNonDigitIdentifierCharacter :: Parser Char
+pNonDigitIdentifierCharacter = satisfy validChar
   where
     validChar :: Char -> Bool
     validChar c =
-      between c 'A' 'Z'
+      cBetween c 'A' 'Z'
         || c == '_'
-        || between c 'a' 'z'
+        || cBetween c 'a' 'z'
         || ord c >= 128
 
-between :: Char -> Char -> Char -> Bool
-between c left right = c >= left && c <= right
+cBetween :: Char -> Char -> Char -> Bool
+cBetween c left right = c >= left && c <= right
 
--- | Parses a C-style block comment.
-parseCBlockComment :: LParser String
-parseCBlockComment =
-  const ""
-    <$> pToken "*/"
-      <<|> (:)
-    <$> parseAnyChar
-    <*> parseCBlockComment
+-- | Parse the string until the end. Used in parseLineComment among others.
+pUntilEnd :: Parser String
+pUntilEnd = manyTill anyChar (lookAhead (endOfLine <|> const '\n' <$> eof))
 
--- | Try to parse a block comment.
--- Might actually return a single line Dash comment, because for example
--- the following line is a line comment, rather than a block comment
--- [===== <- missing the last '[' bracket.
-parseBlockComment :: LParser Token
-parseBlockComment = pToken "[" *> nested 0
-  where
-    -- 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
+-- | Whitespace parser that requires at least one whitespace character
+parseWhitespace :: Parser String
+parseWhitespace = many1 space <?> "whitespace"
 
-    -- Turns out we were describing a line comment all along, cheeky bastard!
-    -- (the last [ of the block comment start token is missing)
-    lineComment :: Int -> String -> Token
-    lineComment n str = DashComment $ '[' : replicate n '=' ++ str
+-- | Whitespace parser that requires 0 or more whitespace characters
+parseOptionalWhitespace :: Parser String
+parseOptionalWhitespace = many space <?> "whitespace"
 
-    -- 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
+-- | An escaped character of a single line string
+-- Takes the delimiter of the string as parameter
+escapedStringChar :: Char -> Parser String
+escapedStringChar delim = (\escaped -> '\\' : escaped) <$ char '\\' <*> escapedChar <|> (: []) <$> noneOf ['\n', delim]
+  where
+    escapedChar = (:) <$> char 'z' <*> parseOptionalWhitespace <|> (: []) <$> anyChar
 
--- | Parse the string until the end. Used in parseLineComment among others.
-pUntilEnd :: LParser String
-pUntilEnd = pMunch (\c -> c /= '\n' && c /= '\r')
+-- | The start of a nested string
+-- Returns the amount of =-signs at the start of the nested string
+startNestedString :: Parser String
+startNestedString = do
+  _ <- char '['
+  depth <- many (char '=')
+  _ <- char '['
+  return depth
 
--- | A comment that spans until the end of the line.
-parseLineComment :: String -> LParser String
-parseLineComment prefix = flip const <$> pToken prefix <*> pUntilEnd
+-- | Parses a multiline string
+-- returns the amount of =-signs in the string delimiter and the contents
+nestedString :: String -> Parser String
+nestedString depth = do
+  let
+    endStr = "]" ++ depth ++ "]"
+  manyTill anyChar (try $ string endStr)
 
--- | Parses a multiline string except for its first character (e.g. =[ string ]=])
--- This is because the first [ could also just be parsed as a square bracket.
-nestedString :: LParser String
-nestedString = nested 0
-  where
-    -- 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
+-- | Parse Lua style comments
+parseLuaComment :: Parser Token
+parseLuaComment = do
+  _ <- string "--"
+  -- When a nested comment is started, it must be finished
+  startNested <- optionMaybe (try startNestedString)
 
-    -- 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
+  case startNested of
+    Nothing -> DashComment <$> pUntilEnd
+    Just depth -> do
+      contents <- nestedString depth
+      return $ DashBlockComment (length depth) contents
 
+-- | Parse C-Style comments
+parseCComment :: Parser Token
+parseCComment = do
+  _ <- char '/'
+  try (SlashComment <$ char '/' <*> pUntilEnd)
+    <|> SlashBlockComment <$ char '*' <*> manyTill anyChar (try (string "*/") <|> const "\n" <$> eof)
+
 -- | Parse any kind of comment.
-parseComment :: LParser Token
-parseComment =
-  pToken "--"
-    <**> (const <$> (parseBlockComment <<|> DashComment <$> pUntilEnd)) -- Dash block comment and dash comment both start with "--"
-    <<|> pToken "/"
-    <**> ( const
-            <$> ( SlashBlockComment
-                    <$ pToken "*"
-                    <*> parseCBlockComment
-                      <<|> SlashComment
-                    <$> parseLineComment "/"
-                      <<|> pReturn Divide -- The /-sign is here because it also starts with '/'
-                )
-         )
+parseComment :: Parser Token
+parseComment = parseLuaComment <|> parseCComment <?> "Comment"
 
--- | Parse single line strings e.g. "sdf", 'werf'.
-parseLineString :: Char -> LParser String
-parseLineString c = pSym c *> innerString
-  where
-    innerString :: LParser String
-    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
-        -- the next character in the string
-    escapeSequence :: LParser String
-    escapeSequence = (:) <$> pSym 'z' <*> parseOptionalWhitespace <<|> (: []) <$> parseAnyChar
+-- | Convert the result of the nestedString parser to a MultiLine string
+nestedStringToMLString :: String -> String -> Token
+nestedStringToMLString depth contents = MLString (showChar '[' . showString depth . showChar '[' . showString contents . showChar ']' . showString depth . showChar ']' $ "")
 
-    pNoNewline :: LParser Char
-    pNoNewline = pSatisfy (/= '\n') (Insertion "Anything but a newline" c 5)
+-- | Parse single line strings e.g. "sdf", 'werf'.
+parseLineString :: Char -> Parser String
+parseLineString c = concat <$ char c <*> many (escapedStringChar c) <* char c
 
 -- | Single and multiline strings.
-parseString :: LParser Token
+parseString :: Parser 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 '['
-      <**> ( (\_ -> MLString . (:) '[')
-              <$$> nestedString
-              <<|> const
-              <$> pReturn LSquare
-           )
+  SQString <$> parseLineString '\''
+    <|> DQString <$> parseLineString '"'
+    <|> do
+      depth <- startNestedString
+      nestedStringToMLString depth <$> nestedString depth <?> "String"
 
 -- | Parse any kind of number.
-parseNumber :: LParser Token
-parseNumber = TNumber <$> ((++) <$> (pZeroPrefixedNumber <<|> pNumber) <*> (pLLULL <<|> opt parseNumberSuffix ""))
+-- Except for numbers that start with a '.'. That's handled by parseDots to solve ambiguity.
+parseNumber :: Parser Token
+parseNumber = TNumber <$> ((++) <$> (pHexadecimal <|> pBinary <|> pNumber) <*> (pLLULL <|> option "" parseNumberSuffix)) <?> "Number"
   where
-    -- Numbers starting with 0 can be regular numbers, hexadecimals or binary
-    pZeroPrefixedNumber :: LParser String
-    pZeroPrefixedNumber =
-      pSym '0'
-        <**> ( (\hex _0 -> _0 : hex)
-                <$> pHexadecimal
-                  <<|> (\bin _0 -> _0 : bin)
-                <$> pBinary
-                  <<|> (\digits _0 -> _0 : digits)
-                <$> (pDecimal <<|> pNumber)
-                  <<|> pure (: [])
-             )
-
-    pNumber :: LParser String
-    pNumber = (++) <$> pSome pDigit <*> opt pDecimal ""
+    pNumber :: Parser String
+    pNumber = (++) <$> many1 digit <*> option "" pDecimal
 
-    pDecimal :: LParser String
-    pDecimal = (:) <$> pSym '.' <*> pMany pDigit
+    pDecimal :: Parser String
+    pDecimal = (:) <$> char '.' <*> many digit
 
-    pHexDecimal :: LParser String
-    pHexDecimal = (:) <$> pSym '.' <*> pMany pHex
+    pHexDecimal :: Parser String
+    pHexDecimal = (:) <$> char '.' <*> many pHex
 
-    pHexadecimal :: LParser String
-    pHexadecimal = (:) <$> (pSym 'x' <<|> pSym 'X') <*> ((++) <$> pSome pHex <*> opt pHexDecimal "")
+    pHexadecimal :: Parser String
+    pHexadecimal = (++) <$> (try (string "0x") <|> try (string "0X")) <*> ((++) <$> many1 pHex <*> option "" pHexDecimal)
 
-    pBinary :: LParser String
-    pBinary = (:) <$> (pSym 'b' <<|> pSym 'B') <*> ((++) <$> pSome pBin <*> opt pDecimal "")
+    pHex :: Parser Char
+    pHex = digit <|> oneOf ['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']
 
-    pHex :: LParser Char
-    pHex =
-      pDigit
-        <<|> pSym 'a'
-        <<|> pSym 'b'
-        <<|> pSym 'c'
-        <<|> pSym 'd'
-        <<|> pSym 'e'
-        <<|> pSym 'f'
-        <<|> pSym 'A'
-        <<|> pSym 'B'
-        <<|> pSym 'C'
-        <<|> pSym 'D'
-        <<|> pSym 'E'
-        <<|> pSym 'F'
+    pBinary :: Parser String
+    pBinary = (++) <$> (try (string "0b") <|> try (string "0B")) <*> ((++) <$> many1 pBin <*> option "" pDecimal)
 
-    pBin :: LParser Char
-    pBin = pSym '0' <<|> pSym '1'
+    pBin :: Parser Char
+    pBin = digit <|> oneOf ['0', '1']
 
     -- LL/ULL suffix of a number, making it signed/unsigned int64 respectively
     -- http://luajit.org/ext_ffi_api.html#literals
-    pLLULL :: LParser String
-    pLLULL = pULL <<|> pLL
+    pLLULL :: Parser String
+    pLLULL = pULL <|> pLL
 
-    pLL :: LParser String
-    pLL = "LL" <$ (pSym 'L' <<|> pSym 'l') <* (pSym 'L' <<|> pSym 'l')
+    pLL :: Parser String
+    pLL = "LL" <$ oneOf ['L', 'l'] <* oneOf ['L', 'l']
 
-    pULL :: LParser String
-    pULL = "ULL" <$ (pSym 'U' <<|> pSym 'u') <* pLL
+    pULL :: Parser String
+    pULL = "ULL" <$ oneOf ['U', 'u'] <* pLL
 
 -- Parse the suffix of a number
-parseNumberSuffix :: LParser String
-parseNumberSuffix = imaginary <<|> extension
+parseNumberSuffix :: Parser String
+parseNumberSuffix = imaginary <|> extension
   where
-    imaginary = (: []) <$> (pSym 'i' <<|> pSym 'I')
-
+    imaginary = (: []) <$> oneOf ['i', 'I']
     extension =
       (\e s d -> e : s ++ d)
-        <$> (pSym 'e' <<|> pSym 'E' <<|> pSym 'p' <<|> pSym 'P')
-        <*> opt (pToken "+" <<|> pToken "-") ""
-        <*> pSome pDigit
+        <$> oneOf ['e', 'E', 'p', 'P']
+        <*> option "" (string "+" <|> string "-")
+        <*> many1 digit
 
--- | Parse a keyword. Note: It must really a key/word/! This parser makes sure to return an identifier when
--- it's actually an identifier that starts with that keyword.
-parseKeyword :: Token -> String -> LParser Token
-parseKeyword tok word =
-  pToken word
-    <**> ((\k -> Identifier . (++) k) <$$> pSome pIdentifierCharacter <<|> const <$> pReturn tok)
+-- | Parse either a keyword or an identifier that starts with that keyword
+parseKeyword :: Token -> String -> Parser Token
+parseKeyword tok str =
+  try
+    ( do
+        _ <- string str
+        (\s -> Identifier (str ++ s)) <$> many1 (pIdentifierCharacter)
+          <|> return tok
+        <?> "Keyword "
+        ++ str
+    )
 
 -- | Parse just an identifier.
-parseIdentifier :: LParser String
-parseIdentifier = (:) <$> pNonDigitIdentifierCharacter <*> pMany pIdentifierCharacter
+parseIdentifier :: Parser String
+parseIdentifier = (:) <$> pNonDigitIdentifierCharacter <*> many pIdentifierCharacter <?> "Identifier"
 
 -- | Parse a label.
-parseLabel :: LParser Token
+parseLabel :: Parser Token
 parseLabel =
   Label
-    <$ pToken "::"
+    <$ string "::"
     <*> parseOptionalWhitespace
     <*> parseIdentifier
     <*> parseOptionalWhitespace
-    <* pToken "::"
+    <* string "::"
+    <?> "Label"
 
--- | Parse anything to do with dots. Indexaction (.), concatenation (..) or varargs (...)
-parseDots :: LParser Token
-parseDots =
-  pToken "."
-    <**> ( -- A dot means it's either a VarArg (...), concatenation (..) or just a dot (.)
-           const
-            <$> ( pToken "."
-                    <**> ( const VarArg
-                            <$ pToken "."
-                              <<|> const
-                            <$> pReturn Concatenate
-                         )
-                )
-              <<|> (\ds sfx dot -> TNumber $ dot ++ ds ++ sfx)
-            <$> pSome pDigit
-            <*> opt parseNumberSuffix ""
-              <<|> const
-            <$> pReturn Dot
-         )
+-- | Parse anything to do with dots. Indexaction (.), concatenation (..), varargs (...) or numbers that start with a dot
+parseDots :: Parser Token
+parseDots = do
+  _ <- char '.' -- first .
+  try
+    ( do
+        _ <- char '.' -- second .
+        try (VarArg <$ char '.')
+          <|> return Concatenate -- third .
+    )
+    <|>
+    -- try to parse a number that starts with a .
+    try
+      ( do
+          nums <- many1 digit
+          suffix <- option "" parseNumberSuffix
+          return $ TNumber ('.' : (nums ++ suffix))
+      )
+    <|> return Dot
 
 -- | Parse any kind of token.
-parseToken :: LParser Token
+parseToken :: Parser Token
 parseToken =
-  parseComment
-    <<|>
+  Whitespace <$> parseWhitespace
+    <|>
     -- Constants
-    parseString
-    <<|> parseNumber
-    <<|> parseKeyword TTrue "true"
-    <<|> parseKeyword TFalse "false"
-    <<|> parseKeyword Nil "nil"
-    <<|> parseKeyword Not "not"
-    <<|> parseKeyword And "and"
-    <<|> parseKeyword Or "or"
-    <<|> parseKeyword Function "function"
-    <<|> parseKeyword Local "local"
-    <<|> parseKeyword If "if"
-    <<|> parseKeyword Then "then"
-    <<|> parseKeyword Elseif "elseif"
-    <<|> parseKeyword Else "else"
-    <<|> parseKeyword For "for"
-    <<|> parseKeyword In "in"
-    <<|> parseKeyword Do "do"
-    <<|> parseKeyword While "while"
-    <<|> parseKeyword Until "until"
-    <<|> parseKeyword Repeat "repeat"
-    <<|> parseKeyword Continue "continue"
-    <<|> parseKeyword Break "break"
-    <<|> parseKeyword Return "return"
-    <<|> parseKeyword End "end"
-    <<|> Identifier
-    <$> parseIdentifier
-      <<|> Semicolon
-    <$ pToken ";"
-      <<|> parseDots
-      <<|>
-      -- Operators
-      Plus
-    <$ pToken "+"
-      <<|> Minus
-    <$ pToken "-"
-      <<|> Multiply
-    <$ pToken "*"
-      <<|> Modulus
-    <$ pToken "%"
-      <<|> Power
-    <$ pToken "^"
-      <<|> TEq
-    <$ pToken "=="
-      <<|> Equals
-    <$ pToken "="
-      <<|> TNEq
-    <$ pToken "~="
-      <<|> TCNEq
-    <$ pToken "!="
-      <<|> CNot
-    <$ pToken "!"
-      <<|> TLEQ
-    <$ pToken "<="
-      <<|> TLT
-    <$ pToken "<"
-      <<|> TGEQ
-    <$ pToken ">="
-      <<|> TGT
-    <$ pToken ">"
-      <<|> parseLabel
-      <<|> Colon
-    <$ pToken ":"
-      <<|> Comma
-    <$ pToken ","
-      <<|> Hash
-    <$ pToken "#"
-      `micro` 10
-      <<|> CAnd -- Add micro cost to prevent conflict with parseHashBang
-    <$ pToken "&&"
-      <<|> COr
-    <$ pToken "||"
-      <<|> LRound
-    <$ pToken "("
-      <<|> RRound
-    <$ pToken ")"
-      <<|> LCurly
-    <$ pToken "{"
-      <<|> RCurly
-    <$ pToken "}"
-      <<|>
-      -- Other square bracket is parsed in parseString
-      RSquare
-    <$ pToken "]"
-      <<|> Whitespace
-    <$> parseWhitespace
+    try parseString
+    <|> parseNumber
+    <|> parseKeyword TTrue "true"
+    <|> parseKeyword TFalse "false"
+    <|> parseKeyword Nil "nil"
+    <|> parseKeyword Not "not"
+    <|> parseKeyword And "and"
+    <|> parseKeyword Or "or"
+    <|> parseKeyword Function "function"
+    <|> parseKeyword Local "local"
+    <|> parseKeyword If "if"
+    <|> parseKeyword Then "then"
+    <|> parseKeyword Elseif "elseif"
+    <|> parseKeyword Else "else"
+    <|> parseKeyword For "for"
+    <|> parseKeyword In "in"
+    <|> parseKeyword Do "do"
+    <|> parseKeyword While "while"
+    <|> parseKeyword Until "until"
+    <|> parseKeyword Repeat "repeat"
+    <|> parseKeyword Continue "continue"
+    <|> parseKeyword Break "break"
+    <|> parseKeyword Return "return"
+    <|> parseKeyword End "end"
+    <|> Identifier <$> parseIdentifier
+    <|> Semicolon <$ char ';'
+    <|> parseDots
+    <|> try parseComment
+    <|>
+    -- Operators
+    Plus <$ string "+"
+    <|> Minus <$ string "-"
+    <|> Multiply <$ string "*"
+    <|> Divide <$ string "/"
+    <|> Modulus <$ string "%"
+    <|> Power <$ string "^"
+    <|> TEq <$ try (string "==")
+    <|> Equals <$ string "="
+    <|> TNEq <$ string "~="
+    <|> TCNEq <$ try (string "!=")
+    <|> CNot <$ string "!"
+    <|> TLEQ <$ try (string "<=")
+    <|> TLT <$ string "<"
+    <|> TGEQ <$ try (string ">=")
+    <|> TGT <$ string ">"
+    <|> try parseLabel
+    <|> Colon <$ string ":"
+    <|> Comma <$ string ","
+    <|> Hash <$ string "#"
+    <|> CAnd <$ string "&&"
+    <|> COr <$ string "||"
+    <|> LRound <$ char '('
+    <|> RRound <$ char ')'
+    <|> LCurly <$ char '{'
+    <|> RCurly <$ char '}'
+    <|> LSquare <$ char '['
+    <|> RSquare <$ char ']'
 
 -- | A thing of which the region is to be parsed
-annotated :: (Region -> a -> b) -> LParser a -> LParser b
+annotated :: (Region -> a -> b) -> Parser a -> Parser b
 annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pPos
 
 -- | parse located MToken
-parseMToken :: LParser MToken
-parseMToken = annotated MToken parseToken
+parseMToken :: Parser MToken
+parseMToken =
+  do
+    start <- pPos
+    tok <- parseToken
+    end <- pPos
 
+    return $ MToken (Region start end) tok
+
 -- | Parse a list of tokens and turn them into MTokens.
-parseTokens :: LParser [MToken]
-parseTokens = pMany parseMToken
+parseTokens :: Parser [MToken]
+parseTokens = many parseMToken
 
 -- | Parse the potential #!comment on the first line
 -- Lua ignores the first line if it starts with #
-parseHashBang :: LParser String
-parseHashBang = opt (pToken "#" <* pUntilEnd) ""
-
--- | Lex a string with a given lexer
-lexFromString :: LParser a -> String -> (a, [Error LineColPos])
-lexFromString p = parse ((,) <$> p <*> pErrors <* pEnd) . createStr (LineColPos 0 0 0)
+parseHashBang :: Parser String
+parseHashBang = option "" (char '#' *> pUntilEnd)
 
--- | Parse a string into MTokens. Also returns parse errors.
-execParseTokens :: String -> ([MToken], [Error LineColPos])
-execParseTokens = parse ((,) <$ parseHashBang <*> parseTokens <*> pErrors <* pEnd) . createStr (LineColPos 0 0 0)
+-- | Parse a string into MTokens.
+execParseTokens :: String -> Either ParseError [MToken]
+execParseTokens = parse (parseHashBang *> parseTokens <* eof) "input"
diff --git a/src/GLua/LineLimitParser.hs b/src/GLua/LineLimitParser.hs
--- a/src/GLua/LineLimitParser.hs
+++ b/src/GLua/LineLimitParser.hs
@@ -4,8 +4,8 @@
 
 import Control.Applicative ((<|>))
 import Control.Monad (void)
-import GLua.AG.Token (Region (Region))
-import GLua.PSLexer (pPos)
+import GLua.Lexer (pPos)
+import GLua.Position (Region (..))
 import GLuaFixer.LintMessage (Issue (LineTooLong), LintMessage (..), Severity (LintWarning))
 import Text.Parsec (endOfLine, eof, parse, satisfy, skipMany1)
 import Text.Parsec.String (Parser)
diff --git a/src/GLua/PSLexer.hs b/src/GLua/PSLexer.hs
deleted file mode 100644
--- a/src/GLua/PSLexer.hs
+++ /dev/null
@@ -1,350 +0,0 @@
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-
-module GLua.PSLexer where
-
-import GLua.AG.Token (MToken (..), Region (..), Token (..))
-
-import Data.Char (ord)
-import Text.Parsec (
-  ParseError,
-  SourcePos,
-  anyChar,
-  char,
-  digit,
-  endOfLine,
-  eof,
-  getPosition,
-  lookAhead,
-  many,
-  many1,
-  manyTill,
-  noneOf,
-  oneOf,
-  option,
-  optionMaybe,
-  parse,
-  satisfy,
-  sourceColumn,
-  sourceLine,
-  space,
-  string,
-  try,
-  (<?>),
-  (<|>),
- )
-import Text.Parsec.Pos (newPos)
-import Text.Parsec.String (Parser)
-import Text.ParserCombinators.UU.BasicInstances (LineColPos (..))
-
--- | Region start to SourcePos
-rgStart2sp :: Region -> SourcePos
-rgStart2sp (Region start _) = lcp2sp start
-
--- | Region end to SourcePos
-rgEnd2sp :: Region -> SourcePos
-rgEnd2sp (Region _ end) = lcp2sp end
-
--- | SourcePos to region
-sp2Rg :: SourcePos -> Region
-sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp)
-
--- | LineColPos to SourcePos
-lcp2sp :: LineColPos -> SourcePos
-lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1)
-
--- | SourcePos to LineColPos
-sp2lcp :: SourcePos -> LineColPos
-sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0
-
--- | Get the source position
-pPos :: Parser LineColPos
-pPos = sp2lcp <$> getPosition
-
--- See luajit's src/lj_char.c and src/lj_char.h
-pIdentifierCharacter :: Parser Char
-pIdentifierCharacter = satisfy validChar
-  where
-    validChar :: Char -> Bool
-    validChar c =
-      cBetween c '0' '9'
-        || cBetween c 'A' 'Z'
-        || c == '_'
-        || cBetween c 'a' 'z'
-        || ord c >= 128
-
-pNonDigitIdentifierCharacter :: Parser Char
-pNonDigitIdentifierCharacter = satisfy validChar
-  where
-    validChar :: Char -> Bool
-    validChar c =
-      cBetween c 'A' 'Z'
-        || c == '_'
-        || cBetween c 'a' 'z'
-        || ord c >= 128
-
-cBetween :: Char -> Char -> Char -> Bool
-cBetween c left right = c >= left && c <= right
-
--- | Parse the string until the end. Used in parseLineComment among others.
-pUntilEnd :: Parser String
-pUntilEnd = manyTill anyChar (lookAhead (endOfLine <|> const '\n' <$> eof))
-
--- | Whitespace parser that requires at least one whitespace character
-parseWhitespace :: Parser String
-parseWhitespace = many1 space <?> "whitespace"
-
--- | Whitespace parser that requires 0 or more whitespace characters
-parseOptionalWhitespace :: Parser String
-parseOptionalWhitespace = many space <?> "whitespace"
-
--- | An escaped character of a single line string
--- Takes the delimiter of the string as parameter
-escapedStringChar :: Char -> Parser String
-escapedStringChar delim = (\escaped -> '\\' : escaped) <$ char '\\' <*> escapedChar <|> (: []) <$> noneOf ['\n', delim]
-  where
-    escapedChar = (:) <$> char 'z' <*> parseOptionalWhitespace <|> (: []) <$> anyChar
-
--- | The start of a nested string
--- Returns the amount of =-signs at the start of the nested string
-startNestedString :: Parser String
-startNestedString = do
-  _ <- char '['
-  depth <- many (char '=')
-  _ <- char '['
-  return depth
-
--- | Parses a multiline string
--- returns the amount of =-signs in the string delimiter and the contents
-nestedString :: String -> Parser String
-nestedString depth = do
-  let
-    endStr = "]" ++ depth ++ "]"
-  manyTill anyChar (try $ string endStr)
-
--- | Parse Lua style comments
-parseLuaComment :: Parser Token
-parseLuaComment = do
-  _ <- string "--"
-  -- When a nested comment is started, it must be finished
-  startNested <- optionMaybe (try startNestedString)
-
-  case startNested of
-    Nothing -> DashComment <$> pUntilEnd
-    Just depth -> do
-      contents <- nestedString depth
-      return $ DashBlockComment (length depth) contents
-
--- | Parse C-Style comments
-parseCComment :: Parser Token
-parseCComment = do
-  _ <- char '/'
-  try (SlashComment <$ char '/' <*> pUntilEnd)
-    <|> SlashBlockComment <$ char '*' <*> manyTill anyChar (try (string "*/") <|> const "\n" <$> eof)
-
--- | Parse any kind of comment.
-parseComment :: Parser Token
-parseComment = parseLuaComment <|> parseCComment <?> "Comment"
-
--- | Convert the result of the nestedString parser to a MultiLine string
-nestedStringToMLString :: String -> String -> Token
-nestedStringToMLString depth contents = MLString (showChar '[' . showString depth . showChar '[' . showString contents . showChar ']' . showString depth . showChar ']' $ "")
-
--- | Parse single line strings e.g. "sdf", 'werf'.
-parseLineString :: Char -> Parser String
-parseLineString c = concat <$ char c <*> many (escapedStringChar c) <* char c
-
--- | Single and multiline strings.
-parseString :: Parser Token
-parseString =
-  SQString <$> parseLineString '\''
-    <|> DQString <$> parseLineString '"'
-    <|> do
-      depth <- startNestedString
-      nestedStringToMLString depth <$> nestedString depth <?> "String"
-
--- | Parse any kind of number.
--- Except for numbers that start with a '.'. That's handled by parseDots to solve ambiguity.
-parseNumber :: Parser Token
-parseNumber = TNumber <$> ((++) <$> (pHexadecimal <|> pBinary <|> pNumber) <*> (pLLULL <|> option "" parseNumberSuffix)) <?> "Number"
-  where
-    pNumber :: Parser String
-    pNumber = (++) <$> many1 digit <*> option "" pDecimal
-
-    pDecimal :: Parser String
-    pDecimal = (:) <$> char '.' <*> many digit
-
-    pHexDecimal :: Parser String
-    pHexDecimal = (:) <$> char '.' <*> many pHex
-
-    pHexadecimal :: Parser String
-    pHexadecimal = (++) <$> (try (string "0x") <|> try (string "0X")) <*> ((++) <$> many1 pHex <*> option "" pHexDecimal)
-
-    pHex :: Parser Char
-    pHex = digit <|> oneOf ['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']
-
-    pBinary :: Parser String
-    pBinary = (++) <$> (try (string "0b") <|> try (string "0B")) <*> ((++) <$> many1 pBin <*> option "" pDecimal)
-
-    pBin :: Parser Char
-    pBin = digit <|> oneOf ['0', '1']
-
-    -- LL/ULL suffix of a number, making it signed/unsigned int64 respectively
-    -- http://luajit.org/ext_ffi_api.html#literals
-    pLLULL :: Parser String
-    pLLULL = pULL <|> pLL
-
-    pLL :: Parser String
-    pLL = "LL" <$ oneOf ['L', 'l'] <* oneOf ['L', 'l']
-
-    pULL :: Parser String
-    pULL = "ULL" <$ oneOf ['U', 'u'] <* pLL
-
--- Parse the suffix of a number
-parseNumberSuffix :: Parser String
-parseNumberSuffix = imaginary <|> extension
-  where
-    imaginary = (: []) <$> oneOf ['i', 'I']
-    extension =
-      (\e s d -> e : s ++ d)
-        <$> oneOf ['e', 'E', 'p', 'P']
-        <*> option "" (string "+" <|> string "-")
-        <*> many1 digit
-
--- | Parse either a keyword or an identifier that starts with that keyword
-parseKeyword :: Token -> String -> Parser Token
-parseKeyword tok str =
-  try
-    ( do
-        _ <- string str
-        (\s -> Identifier (str ++ s)) <$> many1 (pIdentifierCharacter)
-          <|> return tok
-        <?> "Keyword "
-          ++ str
-    )
-
--- | Parse just an identifier.
-parseIdentifier :: Parser String
-parseIdentifier = (:) <$> pNonDigitIdentifierCharacter <*> many pIdentifierCharacter <?> "Identifier"
-
--- | Parse a label.
-parseLabel :: Parser Token
-parseLabel =
-  Label
-    <$ string "::"
-    <*> parseOptionalWhitespace
-    <*> parseIdentifier
-    <*> parseOptionalWhitespace
-    <* string "::"
-    <?> "Label"
-
--- | Parse anything to do with dots. Indexaction (.), concatenation (..), varargs (...) or numbers that start with a dot
-parseDots :: Parser Token
-parseDots = do
-  _ <- char '.' -- first .
-  try
-    ( do
-        _ <- char '.' -- second .
-        try (VarArg <$ char '.')
-          <|> return Concatenate -- third .
-    )
-    <|>
-    -- try to parse a number that starts with a .
-    try
-      ( do
-          nums <- many1 digit
-          suffix <- option "" parseNumberSuffix
-          return $ TNumber ('.' : (nums ++ suffix))
-      )
-    <|> return Dot
-
--- | Parse any kind of token.
-parseToken :: Parser Token
-parseToken =
-  Whitespace <$> parseWhitespace
-    <|>
-    -- Constants
-    try parseString
-    <|> parseNumber
-    <|> parseKeyword TTrue "true"
-    <|> parseKeyword TFalse "false"
-    <|> parseKeyword Nil "nil"
-    <|> parseKeyword Not "not"
-    <|> parseKeyword And "and"
-    <|> parseKeyword Or "or"
-    <|> parseKeyword Function "function"
-    <|> parseKeyword Local "local"
-    <|> parseKeyword If "if"
-    <|> parseKeyword Then "then"
-    <|> parseKeyword Elseif "elseif"
-    <|> parseKeyword Else "else"
-    <|> parseKeyword For "for"
-    <|> parseKeyword In "in"
-    <|> parseKeyword Do "do"
-    <|> parseKeyword While "while"
-    <|> parseKeyword Until "until"
-    <|> parseKeyword Repeat "repeat"
-    <|> parseKeyword Continue "continue"
-    <|> parseKeyword Break "break"
-    <|> parseKeyword Return "return"
-    <|> parseKeyword End "end"
-    <|> Identifier <$> parseIdentifier
-    <|> Semicolon <$ char ';'
-    <|> parseDots
-    <|> try parseComment
-    <|>
-    -- Operators
-    Plus <$ string "+"
-    <|> Minus <$ string "-"
-    <|> Multiply <$ string "*"
-    <|> Divide <$ string "/"
-    <|> Modulus <$ string "%"
-    <|> Power <$ string "^"
-    <|> TEq <$ try (string "==")
-    <|> Equals <$ string "="
-    <|> TNEq <$ string "~="
-    <|> TCNEq <$ try (string "!=")
-    <|> CNot <$ string "!"
-    <|> TLEQ <$ try (string "<=")
-    <|> TLT <$ string "<"
-    <|> TGEQ <$ try (string ">=")
-    <|> TGT <$ string ">"
-    <|> try parseLabel
-    <|> Colon <$ string ":"
-    <|> Comma <$ string ","
-    <|> Hash <$ string "#"
-    <|> CAnd <$ string "&&"
-    <|> COr <$ string "||"
-    <|> LRound <$ char '('
-    <|> RRound <$ char ')'
-    <|> LCurly <$ char '{'
-    <|> RCurly <$ char '}'
-    <|> LSquare <$ char '['
-    <|> RSquare <$ char ']'
-
--- | A thing of which the region is to be parsed
-annotated :: (Region -> a -> b) -> Parser a -> Parser b
-annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pPos
-
--- | parse located MToken
-parseMToken :: Parser MToken
-parseMToken =
-  do
-    start <- pPos
-    tok <- parseToken
-    end <- pPos
-
-    return $ MToken (Region start end) tok
-
--- | Parse a list of tokens and turn them into MTokens.
-parseTokens :: Parser [MToken]
-parseTokens = many parseMToken
-
--- | Parse the potential #!comment on the first line
--- Lua ignores the first line if it starts with #
-parseHashBang :: Parser String
-parseHashBang = option "" (char '#' *> pUntilEnd)
-
--- | Parse a string into MTokens.
-execParseTokens :: String -> Either ParseError [MToken]
-execParseTokens = parse (parseHashBang *> parseTokens <* eof) "input"
diff --git a/src/GLua/PSParser.hs b/src/GLua/PSParser.hs
deleted file mode 100644
--- a/src/GLua/PSParser.hs
+++ /dev/null
@@ -1,603 +0,0 @@
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE LambdaCase #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE TupleSections #-}
-
-module GLua.PSParser where
-
-import GLua.AG.AST (
-  AReturn (..),
-  AST (..),
-  Args (..),
-  BinOp (..),
-  Block (..),
-  Expr (..),
-  Field (..),
-  FieldSep (..),
-  FuncName (..),
-  MElse (MElse),
-  MElseIf (MElseIf),
-  MExpr (..),
-  MStat (..),
-  PFExprSuffix (..),
-  PrefixExp (..),
-  Stat (..),
-  UnOp (..),
- )
-import GLua.AG.Token (
-  MToken (..),
-  Region (..),
-  Token (..),
- )
-import qualified GLua.Lexer as Lex
-import GLua.TokenTypes (
-  isWhitespace,
-  mpos,
-  rgEnd,
-  rgStart,
-  splitComments,
-  tokenSize,
- )
-
-import Text.Parsec (
-  ParseError,
-  Parsec,
-  SourceName,
-  SourcePos,
-  anyToken,
-  between,
-  chainl1,
-  choice,
-  eof,
-  getPosition,
-  getState,
-  incSourceColumn,
-  lookAhead,
-  many,
-  many1,
-  option,
-  optionMaybe,
-  putState,
-  runParser,
-  sepBy1,
-  sourceColumn,
-  sourceLine,
-  tokenPrim,
-  try,
-  (<?>),
-  (<|>),
- )
-import Text.Parsec.Pos (newPos)
-import Text.ParserCombinators.UU.BasicInstances (LineColPos (..))
-
-type AParser = Parsec [MToken] LineColPos
-
--- | Execute a parser
-execAParser :: SourceName -> AParser a -> [MToken] -> Either ParseError a
-execAParser name p = runParser p (LineColPos 0 0 0) name
-
--- | Parse a string directly
-parseFromString :: AParser a -> String -> Either ParseError a
-parseFromString p = execAParser "source.lua" p . filter (not . isWhitespace) . fst . Lex.execParseTokens
-
--- | Parse Garry's mod Lua tokens to an abstract syntax tree.
--- Also returns parse errors
-parseGLua :: [MToken] -> Either ParseError AST
-parseGLua mts =
-  let
-    (cms, ts) = splitComments . filter (not . isWhitespace) $ mts
-  in
-    execAParser "source.lua" (parseChunk cms) ts
-
-parseGLuaFromString :: String -> Either ParseError AST
-parseGLuaFromString contents =
-  parseGLua $ filter (not . isWhitespace) $ fst $ Lex.execParseTokens contents
-
--- | Region start to SourcePos
-rgStart2sp :: Region -> SourcePos
-rgStart2sp (Region start _) = lcp2sp start
-
--- | Region end to SourcePos
-rgEnd2sp :: Region -> SourcePos
-rgEnd2sp (Region _ end) = lcp2sp end
-
--- | SourcePos to region
-sp2Rg :: SourcePos -> Region
-sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp)
-
--- | LineColPos to SourcePos
-lcp2sp :: LineColPos -> SourcePos
-lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1)
-
--- | SourcePos to LineColPos
-sp2lcp :: SourcePos -> LineColPos
-sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0
-
--- | Update a SourcePos with an MToken
-updatePosMToken :: SourcePos -> MToken -> [MToken] -> SourcePos
-updatePosMToken _ (MToken p tok) [] = incSourceColumn (rgStart2sp p) (tokenSize tok)
-updatePosMToken _ _ (MToken p _ : _) = rgStart2sp p
-
--- | Match a token
-pMTok :: Token -> AParser MToken
-pMTok tok =
-  do
-    let
-      testMToken :: MToken -> Maybe MToken
-      testMToken mt@(MToken _ t) = if t == tok then Just mt else Nothing
-
-    mt@(MToken pos _) <- tokenPrim show updatePosMToken testMToken
-
-    putState (rgEnd pos)
-
-    return mt
-
--- Tokens that satisfy a condition
-pMSatisfy :: (MToken -> Bool) -> AParser MToken
-pMSatisfy cond =
-  do
-    let
-      testMToken :: MToken -> Maybe MToken
-      testMToken mt = if cond mt then Just mt else Nothing
-
-    pMToken testMToken
-
-pMToken :: forall a. (MToken -> Maybe a) -> AParser a
-pMToken cond =
-  let
-    testMToken :: MToken -> Maybe (MToken, a)
-    testMToken mt = (mt,) <$> cond mt
-  in
-    do
-      (MToken pos _, res) <- tokenPrim show updatePosMToken testMToken
-
-      putState (rgEnd pos)
-
-      pure res
-
--- | Get the source position
--- Simply gets the position of the next token
--- Falls back on the collected position when there is no token left
-pPos :: AParser LineColPos
-pPos = rgStart . mpos <$> lookAhead anyToken <|> sp2lcp <$> getPosition
-
--- | Get the source position
--- Simply gets the end position of the last parsed token
-pEndPos :: AParser LineColPos
-pEndPos = getState
-
--- | A thing of which the region is to be parsed
-annotated :: (Region -> a -> b) -> AParser a -> AParser b
-annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pEndPos
-
--- | Parses the full AST
--- Its first parameter contains all comments
--- Assumes the mtokens fed to the AParser have no comments
-parseChunk :: [MToken] -> AParser AST
-parseChunk cms = AST cms <$> parseBlock <* eof
-
--- | Parse a block with an optional return value
-parseBlock :: AParser Block
-parseBlock = Block <$> pInterleaved (pMTok Semicolon) parseMStat <*> (parseReturn <|> return NoReturn)
-
-parseMStat :: AParser MStat
-parseMStat = annotated MStat parseStat
-
--- | Parser that is interleaved with 0 or more of the other parser
-pInterleaved :: AParser a -> AParser b -> AParser [b]
-pInterleaved sep q = many sep *> many (q <* many sep)
-
--- | Parse a return value
-parseReturn :: AParser AReturn
-parseReturn = annotated AReturn (pMTok Return *> option [] parseExpressionList <* many (pMTok Semicolon) <?> "return statement")
-
--- | Label
-parseLabel :: AParser MToken
-parseLabel = pMSatisfy isLabel <?> "label"
-  where
-    isLabel :: MToken -> Bool
-    isLabel (MToken _ (Label{})) = True
-    isLabel _ = False
-
--- | Parse a single statement
-parseStat :: AParser Stat
-parseStat =
-  ALabel <$> parseLabel
-    <|> ABreak <$ pMTok Break
-    <|> AContinue <$ pMTok Continue
-    <|> ADo <$ pMTok Do <*> parseBlock <* pMTok End
-    <|> AWhile <$ pMTok While <*> parseExpression <* pMTok Do <*> parseBlock <* pMTok End
-    <|> ARepeat <$ pMTok Repeat <*> parseBlock <* pMTok Until <*> parseExpression
-    <|> parseIf
-    <|> parseFunction
-    <|> parseFor
-    <|> try (AGoto <$ pMTok (Identifier "goto") <*> pName)
-    <|> parseDefinition
-    <|> AFuncCall <$> pFunctionCall
-    <|> pMTok Local
-      *> ( parseLocalDefinition
-            <|> parseLocalFunction
-         )
-
--- | Global definition
--- Note: Uses try to avoid conflicts with function calls
-parseDefinition :: AParser Stat
-parseDefinition = flip (<?>) "variable definition" $ do
-  vars <- try $ do
-    vs <- parseVarList
-    _ <- pMTok Equals
-    return vs
-
-  exprs <- parseExpressionList
-
-  return $ Def (zip vars (map Just exprs ++ repeat Nothing))
-
--- | Local definition
-parseLocalDefinition :: AParser Stat
-parseLocalDefinition = def <$> parseLocalVarList <*> option [] (pMTok Equals *> parseExpressionList) <?> "variable declaration"
-  where
-    def :: [PrefixExp] -> [MExpr] -> Stat
-    def ps exs = LocDef $ zip ps (map Just exs ++ repeat Nothing)
-
--- | Global function definition
-parseFunction :: AParser Stat
-parseFunction =
-  AFunc
-    <$ pMTok Function
-    <*> parseFuncName
-    <*> between (pMTok LRound) (pMTok RRound) parseParList
-    <*> parseBlock
-    <* pMTok End
-    <?> "function definition"
-
--- | Local function definition
-parseLocalFunction :: AParser Stat
-parseLocalFunction =
-  ALocFunc
-    <$ pMTok Function
-    <*> parseLocFuncName
-    <*> between (pMTok LRound) (pMTok RRound) parseParList
-    <*> parseBlock
-    <* pMTok End
-    <?> "local function definition"
-
--- | Parse if then elseif then else end expressions
-parseIf :: AParser Stat
-parseIf =
-  AIf
-    <$ pMTok If
-    <*> parseExpression
-    <* pMTok Then
-    <*> parseBlock
-    <*>
-    -- elseif
-    many (annotated MElseIf $ (,) <$ pMTok Elseif <*> parseExpression <* pMTok Then <*> parseBlock)
-    <*>
-    -- else
-    optionMaybe (annotated MElse $ pMTok Else *> parseBlock)
-    <* pMTok End
-    <?> "if statement"
-
-parseFor :: AParser Stat
-parseFor = parseNFor <|> parseGFor
-
--- | Parse numeric for loop
-parseNFor :: AParser Stat
-parseNFor = flip (<?>) "numeric for loop" $
-  do
-    name <- try $ do
-      _ <- pMTok For
-      name <- pName
-      _ <- pMTok Equals
-      return name
-
-    start <- parseExpression
-    _ <- pMTok Comma
-    to <- parseExpression
-    st <- step
-    _ <- pMTok Do
-    blk <- parseBlock
-    _ <- pMTok End
-
-    return $ ANFor name start to st blk
-  where
-    step :: AParser MExpr
-    step = pMTok Comma *> parseExpression <|> annotated MExpr (return (ANumber "1"))
-
--- | Generic for loop
-parseGFor :: AParser Stat
-parseGFor = AGFor <$ pMTok For <*> parseNameList <* pMTok In <*> parseExpressionList <* pMTok Do <*> parseBlock <* pMTok End <?> "generic for loop"
-
--- | Function name (includes dot indices and meta indices)
-parseFuncName :: AParser FuncName
-parseFuncName =
-  (\a b c -> FuncName (a : b) c)
-    <$> pName
-    <*> many (pMTok Dot *> pName)
-    <*> option Nothing (Just <$ pMTok Colon <*> pName)
-    <?> "function name"
-
--- | Local function name: cannot be a meta function nor indexed
-parseLocFuncName :: AParser FuncName
-parseLocFuncName = (\name -> FuncName [name] Nothing) <$> pName <?> "function name"
-
--- | Parse a number into an expression
-parseNumber :: AParser Expr
-parseNumber = pMToken isNumber <?> "number"
-  where
-    isNumber :: MToken -> Maybe Expr
-    isNumber = \case
-      MToken _ (TNumber str) -> Just $ ANumber str
-      _ -> Nothing
-
--- | Parse any kind of string
-parseString :: AParser MToken
-parseString = pMSatisfy isString <?> "string"
-  where
-    isString :: MToken -> Bool
-    isString (MToken _ (DQString _)) = True
-    isString (MToken _ (SQString _)) = True
-    isString (MToken _ (MLString _)) = True
-    isString _ = False
-
--- | Parse an identifier
-pName :: AParser MToken
-pName = pMSatisfy isName <?> "identifier"
-  where
-    isName :: MToken -> Bool
-    isName (MToken _ (Identifier _)) = True
-    isName _ = False
-
--- | Parse a list of identifiers
-parseNameList :: AParser [MToken]
-parseNameList = sepBy1 pName (pMTok Comma)
-
--- | Parse variable list (var1, var2, var3)
-parseVarList :: AParser [PrefixExp]
-parseVarList = sepBy1 parseVar (pMTok Comma)
-
--- | Parse local variable list (var1, var2, var3)
-parseLocalVarList :: AParser [PrefixExp]
-parseLocalVarList = sepBy1 (PFVar <$> pName <*> pure []) (pMTok Comma)
-
--- | Parse list of function parameters
-parseParList :: AParser [MToken]
-parseParList = option [] $ nameParam <|> vararg
-  where
-    vararg = (: []) <$> pMTok VarArg <?> "..."
-    nameParam = (:) <$> pName <*> moreParams <?> "parameter"
-    moreParams = option [] $ pMTok Comma *> (nameParam <|> vararg)
-
--- | list of expressions
-parseExpressionList :: AParser [MExpr]
-parseExpressionList = sepBy1 parseExpression (pMTok Comma)
-
--- | 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
-    <?> "expression"
-
--- | Separate parser for anonymous function subexpression
-parseAnonymFunc :: AParser Expr
-parseAnonymFunc =
-  AnonymousFunc
-    <$ pMTok Function
-    <* pMTok LRound
-    <*> parseParList
-    <* pMTok RRound
-    <*> parseBlock
-    <* pMTok End
-    <?> "anonymous function"
-
--- | Parse operators of the same precedence in a chain
-samePrioL :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr
-samePrioL ops pr = chainl1 pr (choice (map f ops))
-  where
-    f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)
-    f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t)
-
-samePrioR :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr
-samePrioR ops pr = chainl1 pr (choice (map f ops))
-  where
-    f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)
-    f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t)
-
--- | Parse unary operator (-, not, #)
-parseUnOp :: AParser UnOp
-parseUnOp =
-  UnMinus <$ pMTok Minus
-    <|> ANot <$ pMTok Not
-    <|> ANot <$ pMTok CNot
-    <|> AHash <$ pMTok Hash
-
--- | Parses a binary operator
-parseBinOp :: AParser BinOp
-parseBinOp =
-  AOr <$ pMTok Or
-    <|> AOr <$ pMTok COr
-    <|> AAnd <$ pMTok And
-    <|> AAnd <$ pMTok CAnd
-    <|> ALT <$ pMTok TLT
-    <|> AGT <$ pMTok TGT
-    <|> ALEQ <$ pMTok TLEQ
-    <|> AGEQ <$ pMTok TGEQ
-    <|> ANEq <$ pMTok TNEq
-    <|> ANEq <$ pMTok TCNEq
-    <|> AEq <$ pMTok TEq
-    <|> AConcatenate <$ pMTok Concatenate
-    <|> APlus <$ pMTok Plus
-    <|> BinMinus <$ pMTok Minus
-    <|> AMultiply <$ pMTok Multiply
-    <|> ADivide <$ pMTok Divide
-    <|> AModulus <$ pMTok Modulus
-    <|> APower <$ pMTok Power
-
--- | Operators, sorted by priority
--- Priority from: http://www.lua.org/manual/5.2/manual.html#3.4.7
-lvl1, lvl2, lvl3, lvl4, lvl5, lvl6, lvl8 :: [(Token, BinOp)]
-lvl1 = [(Or, AOr), (COr, AOr)]
-lvl2 = [(And, AAnd), (CAnd, AAnd)]
-lvl3 = [(TLT, ALT), (TGT, AGT), (TLEQ, ALEQ), (TGEQ, AGEQ), (TNEq, ANEq), (TCNEq, ANEq), (TEq, AEq)]
-lvl4 = [(Concatenate, AConcatenate)]
-lvl5 = [(Plus, APlus), (Minus, BinMinus)]
-lvl6 = [(Multiply, AMultiply), (Divide, ADivide), (Modulus, AModulus)]
--- lvl7 is unary operators
-lvl8 = [(Power, APower)]
-
--- | Parse chains of binary and unary operators
-parseExpression :: AParser MExpr
-parseExpression =
-  samePrioL
-    lvl1
-    ( samePrioL lvl2 $
-        samePrioL lvl3 $
-          samePrioR lvl4 $
-            samePrioL lvl5 $
-              samePrioL lvl6 $
-                annotated MExpr (UnOpExpr <$> parseUnOp <*> parseExpression)
-                  <|> samePrioR lvl8 (annotated MExpr (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7
-    )
-    <?> "expression"
-
--- | Prefix expressions
--- can have any arbitrary list of expression suffixes
-parsePrefixExp :: AParser PrefixExp
-parsePrefixExp = pPrefixExp (many pPFExprSuffix)
-
--- | Prefix expressions
--- 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
-
--- | Parse any expression suffix
-pPFExprSuffix :: AParser PFExprSuffix
-pPFExprSuffix = pPFExprCallSuffix <|> pPFExprIndexSuffix
-
--- | Parse an indexing expression suffix
-pPFExprCallSuffix :: AParser PFExprSuffix
-pPFExprCallSuffix =
-  Call
-    <$> parseArgs
-    <|> MetaCall
-      <$ pMTok Colon
-      <*> pName
-      <*> parseArgs
-    <?> "function call"
-
--- | Parse an indexing expression suffix
-pPFExprIndexSuffix :: AParser PFExprSuffix
-pPFExprIndexSuffix =
-  ExprIndex
-    <$ pMTok LSquare
-    <*> parseExpression
-    <* pMTok RSquare
-    <|> DotIndex
-      <$ pMTok Dot
-      <*> pName
-    <?> "indexation"
-
--- | Function calls are prefix expressions, but the last suffix MUST be either a function call or a metafunction call
-pFunctionCall :: AParser PrefixExp
-pFunctionCall = pPrefixExp suffixes <?> "function call"
-  where
-    suffixes =
-      concat
-        <$> many1
-          ( (\ix c -> ix ++ [c]) <$> many1 pPFExprIndexSuffix <*> pPFExprCallSuffix
-              <|> (: []) <$> pPFExprCallSuffix
-          )
-
--- | single variable. Note: definition differs from reference to circumvent the left recursion
--- var ::= Name [{PFExprSuffix}* indexation] | '(' exp ')' {PFExprSuffix}* indexation
--- where "{PFExprSuffix}* indexation" is any arbitrary sequence of prefix expression suffixes that end with an indexation
-parseVar :: AParser PrefixExp
-parseVar = pPrefixExp suffixes <?> "variable"
-  where
-    suffixes =
-      concat
-        <$> many
-          ( (\c ix -> c ++ [ix]) <$> many1 pPFExprCallSuffix <*> pPFExprIndexSuffix
-              <|> (: []) <$> pPFExprIndexSuffix
-          )
-
--- | Arguments of a function call (including brackets)
-parseArgs :: AParser Args
-parseArgs =
-  ListArgs
-    <$ pMTok LRound
-    <*> option [] parseExpressionList
-    <* pMTok RRound
-    <|> TableArg
-      <$> parseTableConstructor
-    <|> StringArg
-      <$> parseString
-    <?> "function arguments"
-
--- | Table constructor
-parseTableConstructor :: AParser [Field]
-parseTableConstructor = pMTok LCurly *> parseFieldList <* pMTok RCurly <?> "table"
-
--- | A list of table entries
--- Grammar: field {separator field} [separator]
-parseFieldList :: AParser [Field]
-parseFieldList = option [] $ do
-  field <- parseField
-  sep <- parseOptionalFieldSep
-  case sep of
-    NoSep -> pure [field NoSep]
-    _ -> (field sep :) <$> parseFieldList
-
--- | Parse a named field (e.g. {named = field})
--- Contains try to avoid conflict with unnamed fields
-parseNamedField :: AParser (FieldSep -> Field)
-parseNamedField = do
-  name <- try $ do
-    n <- pName
-    _ <- pMTok Equals
-    return n
-
-  NamedField name <$> parseExpression
-
--- | A field in a table
-parseField :: AParser (FieldSep -> Field)
-parseField =
-  ExprField
-    <$ pMTok LSquare
-    <*> parseExpression
-    <* pMTok RSquare
-    <* pMTok Equals
-    <*> parseExpression
-    <|> parseNamedField
-    <|> UnnamedField
-      <$> parseExpression
-    <?> "field"
-
--- | Field separator, either comma or semicolon
-parseFieldSep :: AParser FieldSep
-parseFieldSep =
-  CommaSep <$ pMTok Comma
-    <|> SemicolonSep <$ pMTok Semicolon
-
--- | Optional field separator, returns NoSep when no separator is found
--- Used at the end of a field list
-parseOptionalFieldSep :: AParser FieldSep
-parseOptionalFieldSep = option NoSep parseFieldSep
diff --git a/src/GLua/Parser.hs b/src/GLua/Parser.hs
--- a/src/GLua/Parser.hs
+++ b/src/GLua/Parser.hs
@@ -1,271 +1,269 @@
-{-# LANGUAGE CPP #-}
-{-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE Rank2Types #-}
-{-# LANGUAGE NoMonomorphismRestriction #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TupleSections #-}
 
--- | Parser based on <http://www.lua.org/manual/5.2/manual.html#9>
 module GLua.Parser where
 
-import GLua.AG.AST
-import GLua.AG.Token
+import GLua.AG.AST (
+  AReturn (..),
+  AST (..),
+  Args (..),
+  BinOp (..),
+  Block (..),
+  Expr (..),
+  Field (..),
+  FieldSep (..),
+  FuncName (..),
+  MElse (MElse),
+  MElseIf (MElseIf),
+  MExpr (..),
+  MStat (..),
+  PFExprSuffix (..),
+  PrefixExp (..),
+  Stat (..),
+  UnOp (..),
+ )
+import GLua.AG.Token (
+  MToken (..),
+  Token (..),
+ )
 import qualified GLua.Lexer as Lex
-import GLua.TokenTypes
-
-import Text.ParserCombinators.UU
-import Text.ParserCombinators.UU.BasicInstances
-
--- | MTokens with the positions of the next MToken (used in the advance of parser)
-data MTokenPos = MTokenPos MToken Region
-
-data RegionProgression = RegionProgression {lastRegion :: Region, nextRegion :: Region}
-  deriving (Show)
-
-emptyRgPrgs :: RegionProgression
-emptyRgPrgs = RegionProgression emptyRg emptyRg
-
-instance Show MTokenPos where
-  show (MTokenPos tok _) = show tok
+import GLua.TokenTypes (
+  isWhitespace,
+  mpos,
+  splitComments,
+  tokenSize,
+ )
 
--- | Custom parser that parses MTokens
-type AParser a = P (Str MTokenPos [MTokenPos] RegionProgression) a
+import GLua.Position (LineColPos (..), Region (..))
+import Text.Parsec (
+  ParseError,
+  Parsec,
+  SourceName,
+  SourcePos,
+  anyToken,
+  between,
+  chainl1,
+  choice,
+  eof,
+  getPosition,
+  getState,
+  incSourceColumn,
+  lookAhead,
+  many,
+  many1,
+  option,
+  optionMaybe,
+  putState,
+  runParser,
+  sepBy1,
+  sourceColumn,
+  sourceLine,
+  tokenPrim,
+  try,
+  (<?>),
+  (<|>),
+ )
+import Text.Parsec.Pos (newPos)
 
--- | RegionProgression is a location that can be updated by MTokens
-instance IsLocationUpdatedBy RegionProgression MTokenPos where
-  -- advance :: RegionProgression -> MToken -> RegionProgression
-  -- Assume the position of the next MToken
-  advance _ (MTokenPos mt p) = RegionProgression (mpos mt) p
+type AParser = Parsec [MToken] LineColPos
 
-resultsToRegion :: (a, [Error RegionProgression]) -> (a, [Error Region])
-resultsToRegion (a, errs) = (a, map errorToRegion errs)
+-- | Execute a parser
+execAParser :: SourceName -> AParser a -> [MToken] -> Either ParseError a
+execAParser name p = runParser p (LineColPos 0 0 0) name
 
 -- | Parse Garry's mod Lua tokens to an abstract syntax tree.
 -- Also returns parse errors
-parseGLua :: [MToken] -> (AST, [Error Region])
+parseGLua :: [MToken] -> Either ParseError AST
 parseGLua mts =
   let
     (cms, ts) = splitComments . filter (not . isWhitespace) $ mts
   in
-    resultsToRegion $ execAParser (parseChunk cms) ts
+    execAParser "source.lua" (parseChunk cms) ts
 
--- | Parse a string directly into an AST
-parseGLuaFromString :: String -> (AST, [Error Region])
-parseGLuaFromString = parseGLua . filter (not . isWhitespace) . fst . Lex.execParseTokens
+parseGLuaFromString :: String -> Either ParseError AST
+parseGLuaFromString contents =
+  case Lex.execParseTokens contents of
+    Left parseErrors -> Left parseErrors
+    Right lexicon -> parseGLua $ filter (not . isWhitespace) lexicon
 
--- | Parse a string directly
-parseFromString :: AParser a -> String -> (a, [Error Region])
-parseFromString p = resultsToRegion . execAParser p . filter (not . isWhitespace) . fst . Lex.execParseTokens
+-- | Region start to SourcePos
+rgStart2sp :: Region -> SourcePos
+rgStart2sp (Region start _) = lcp2sp start
 
--- | Create a parsable string from MTokens
-createString :: [MToken] -> Str MTokenPos [MTokenPos] RegionProgression
-createString [] = createStr emptyRgPrgs []
-createString mts@(MToken p _ : xs) = createStr (RegionProgression p (nextRg mts')) mtpos
-  where
-    mts' = xs ++ [last mts] -- Repeat last element of mts
-    mkMtPos mt (MToken p' _) = MTokenPos mt p'
-    mtpos = zipWith mkMtPos mts mts'
+-- | Region end to SourcePos
+rgEnd2sp :: Region -> SourcePos
+rgEnd2sp (Region _ end) = lcp2sp end
 
-    nextRg (MToken p' _ : _) = p'
-    nextRg [] = undefined
+-- | SourcePos to region
+sp2Rg :: SourcePos -> Region
+sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp)
 
-errorToRegion :: Error RegionProgression -> Error Region
-errorToRegion (Inserted a p b) = Inserted a (nextRegion p) b
-errorToRegion (Deleted a p b) = Deleted a (nextRegion p) b
-errorToRegion (Replaced a b p c) = Replaced a b (nextRegion p) c
-errorToRegion (DeletedAtEnd s) = DeletedAtEnd s
+-- | LineColPos to SourcePos
+lcp2sp :: LineColPos -> SourcePos
+lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1)
 
--- | Position in Region (as opposed to RegionProgression)
-pPos' :: AParser Region
-pPos' = nextRegion <$> pPos
+-- | SourcePos to LineColPos
+sp2lcp :: SourcePos -> LineColPos
+sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0
 
--- | Text.ParserCombinators.UU.Utils.execParser modified to parse MTokens
--- The first MToken might not be on the first line, so use the first MToken's position to start
-execAParser :: AParser a -> [MToken] -> (a, [Error RegionProgression])
-execAParser p mts@[] = parse_h ((,) <$> p <*> pEnd) . createString $ mts
-execAParser p mts@(_ : _) = parse_h ((,) <$> p <*> pEnd) . createString $ mts -- createStr (mpos m) $ mts
+-- | Update a SourcePos with an MToken
+updatePosMToken :: SourcePos -> MToken -> [MToken] -> SourcePos
+updatePosMToken _ (MToken p tok) [] = incSourceColumn (rgStart2sp p) (tokenSize tok)
+updatePosMToken _ _ (MToken p _ : _) = rgStart2sp p
 
-pMSatisfy :: (MToken -> Bool) -> Token -> String -> AParser MToken
-pMSatisfy f t ins = getToken <$> pSatisfy f' (Insertion ins (MTokenPos (MToken ep t) ep) 5)
-  where
-    f' :: MTokenPos -> Bool
-    f' (MTokenPos tok _) = f tok
+-- | Match a token
+pMTok :: Token -> AParser MToken
+pMTok tok =
+  do
+    let
+      testMToken :: MToken -> Maybe MToken
+      testMToken mt@(MToken _ t) = if t == tok then Just mt else Nothing
 
-    getToken :: MTokenPos -> MToken
-    getToken (MTokenPos t' _) = t'
+    mt@(MToken pos _) <- tokenPrim show updatePosMToken testMToken
 
-    ep = Region (LineColPos 0 0 0) (LineColPos 0 0 0)
+    putState (rgEnd pos)
 
--- | Parse a single Metatoken, based on a positionless token (much like pSym)
-pMTok :: Token -> AParser MToken
-pMTok t = pMSatisfy isToken t $ "'" ++ show t ++ "'"
-  where
-    isToken :: MToken -> Bool
-    isToken (MToken _ tok) = t == tok
+    return mt
 
--- | Parse a list of identifiers
-parseNameList :: AParser [MToken]
-parseNameList = (:) <$> pName <*> pMany (pMTok Comma *> pName)
+-- Tokens that satisfy a condition
+pMSatisfy :: (MToken -> Bool) -> AParser MToken
+pMSatisfy cond =
+  do
+    let
+      testMToken :: MToken -> Maybe MToken
+      testMToken mt = if cond mt then Just mt else Nothing
 
--- | Parse list of function parameters
-parseParList :: AParser [MToken]
-parseParList =
-  (pMTok VarArg <<|> pName)
-    <**> ( pMTok Comma
-            <**> ( (\a _ c -> [c, a])
-                    <$> pMTok VarArg
-                      <<|> (\a _ c -> c : a)
-                    <$> parseParList
-                 )
-            `opt` (: [])
-         )
-    `opt` []
+    pMToken testMToken
 
+pMToken :: forall a. (MToken -> Maybe a) -> AParser a
+pMToken cond =
+  let
+    testMToken :: MToken -> Maybe (MToken, a)
+    testMToken mt = (mt,) <$> cond mt
+  in
+    do
+      (MToken pos _, res) <- tokenPrim show updatePosMToken testMToken
+
+      putState (rgEnd pos)
+
+      pure res
+
+-- | Get the source position.
+-- Simply gets the start position of the next token.
+-- Falls back on the collected position when there is no token left.
+pPos :: AParser LineColPos
+pPos = rgStart . mpos <$> lookAhead anyToken <|> sp2lcp <$> getPosition
+
+-- | Get the source position
+-- Simply gets the end position of the last parsed token
+pEndPos :: AParser LineColPos
+pEndPos = getState
+
+-- | A thing of which the region is to be parsed
+annotated :: (Region -> a -> b) -> AParser a -> AParser b
+annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pEndPos
+
 -- | Parses the full AST
 -- Its first parameter contains all comments
 -- Assumes the mtokens fed to the AParser have no comments
 parseChunk :: [MToken] -> AParser AST
-parseChunk cms = AST cms <$> parseBlock
+parseChunk cms = AST cms <$> parseBlock <* eof
 
 -- | Parse a block with an optional return value
 parseBlock :: AParser Block
-parseBlock = Block <$> pInterleaved (pMTok Semicolon) parseMStat <*> (parseReturn <<|> pReturn NoReturn)
-
--- | A thing of which the region is to be parsed
-annotated :: (Region -> a -> b) -> AParser a -> AParser b
-annotated f p = (\s t e -> f (Region (rgStart s) (rgEnd $ lastRegion $ pos $ e)) t) <$> pPos' <*> p <*> pState
+parseBlock = do
+  -- using 'pEndPos' here, to make sure the region starts right at the end of the last token. This
+  -- is to make sure it captures the whitespace too.
+  start <- pEndPos
+  mStats <- pInterleaved (pMTok Semicolon) parseMStat
+  returnStatement <- parseReturn <|> return NoReturn
+  -- Using 'pPos' here, to make sure the region also includes the whitespace
+  end <- pPos
+  pure $ Block (Region start end) mStats returnStatement
 
 parseMStat :: AParser MStat
 parseMStat = annotated MStat parseStat
 
 -- | Parser that is interleaved with 0 or more of the other parser
 pInterleaved :: AParser a -> AParser b -> AParser [b]
-pInterleaved sep q = pMany sep *> pMany (q <* pMany sep)
+pInterleaved sep q = many sep *> many (q <* many sep)
 
--- | Behemoth parser that parses either function call statements or global declaration statements
--- Big in size and complexity because prefix expressions are BITCHES
--- The problem lies in the complexity of prefix expressions:
--- hotten.totten["tenten"](tentoonstelling) -- This is a function call
--- hotten.totten["tenten"] = tentoonstelling -- This is a declaration.
--- hotten.totten["tenten"], tentoonstelling = 1, 2 -- This is also a declaration.
--- One may find an arbitrary amount of expression suffixes (indexations/calls) before
--- finding a comma or equals sign that proves that it is a declaration.
--- Also, goto can be an identifier
-parseCallDef :: AParser Stat
-parseCallDef =
-  parseGoto
-    <<|> ( 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
-         )
-  where
-    -- Try to parse a goto statement
-    parseGoto :: AParser Stat
-    parseGoto =
-      (PFVar <$> pMTok (Identifier "goto"))
-        <**> ( (\n _ -> AGoto n)
-                <$> pName
-                  <<|> contSearch
-                  <<|> varDecl namedVarDecl
-             )
+-- | Parse a return value
+parseReturn :: AParser AReturn
+parseReturn = annotated AReturn (pMTok Return *> option [] parseExpressionList <* many (pMTok Semicolon) <?> "return statement")
 
-    -- Simple direct declaration: varName, ... = 1, ...
-    namedVarDecl :: [PrefixExp] -> [MExpr] -> (ExprSuffixList -> PrefixExp) -> Stat
-    namedVarDecl vars exprs pfe = let pfes = (pfe []) : vars in Def (zip pfes $ map Just exprs ++ repeat Nothing)
+-- | Label
+parseLabel :: AParser MToken
+parseLabel = pMSatisfy isLabel <?> "label"
+  where
+    isLabel :: MToken -> Bool
+    isLabel (MToken _ (Label{})) = True
+    isLabel _ = False
 
-    -- This is where we know it's a variable declaration
-    -- Takes a function that turns it into a proper Def Stat
-    varDecl :: ([PrefixExp] -> [MExpr] -> b) -> AParser b
-    varDecl f =
-      f
-        <$> opt (pMTok Comma *> parseVarList) []
-        <* pMTok Equals
-        <*> parseExpressionList
+-- | Parse a single statement
+parseStat :: AParser Stat
+parseStat =
+  ALabel <$> parseLabel
+    <|> ABreak <$ pMTok Break
+    <|> AContinue <$ pMTok Continue
+    <|> ADo <$ pMTok Do <*> parseBlock <* pMTok End
+    <|> AWhile <$ pMTok While <*> parseExpression <* pMTok Do <*> parseBlock <* pMTok End
+    <|> ARepeat <$ pMTok Repeat <*> parseBlock <* pMTok Until <*> parseExpression
+    <|> parseIf
+    <|> parseFunction
+    <|> parseFor
+    <|> try (AGoto <$ pMTok (Identifier "goto") <*> pName)
+    <|> parseDefinition
+    <|> AFuncCall <$> pFunctionCall
+    <|> pMTok Local
+      *> ( parseLocalDefinition
+            <|> parseLocalFunction
+         )
 
-    -- We know that there is at least one suffix (indexation or call).
-    -- Search for more suffixes and make either a call or declaration from it
-    contSearch :: AParser ((ExprSuffixList -> PrefixExp) -> Stat)
-    contSearch = (\(ss, mkStat) pfe -> mkStat $ pfe ss) <$> searchDeeper
+-- | Global definition
+-- Note: Uses try to avoid conflicts with function calls
+parseDefinition :: AParser Stat
+parseDefinition = flip (<?>) "variable definition" $ do
+  vars <- try $ do
+    vs <- parseVarList
+    _ <- pMTok Equals
+    return vs
 
-    -- We either find a call suffix or an indexation suffix
-    -- When it's a function call, try searching for more suffixes, if that doesn't work, it's a function call.
-    -- When it's an indexation suffix, search for more suffixes or know that it's a declaration.
-    searchDeeper :: AParser ([PFExprSuffix], PrefixExp -> Stat)
-    searchDeeper =
-      (pPFExprCallSuffix <**> (mergeDeeperSearch <$> searchDeeper <<|> pReturn (\s -> ([s], AFuncCall))))
-        <<|> (pPFExprIndexSuffix <**> (mergeDeeperSearch <$> searchDeeper <<|> varDecl complexDecl))
+  exprs <- parseExpressionList
 
-    -- Merge the finding of more suffixes with the currently found suffix
-    mergeDeeperSearch :: ([PFExprSuffix], PrefixExp -> Stat) -> PFExprSuffix -> ([PFExprSuffix], PrefixExp -> Stat)
-    mergeDeeperSearch (ss, f) s = (s : ss, f)
+  return $ Def (zip vars (map Just exprs ++ repeat Nothing))
 
-    -- Multiple suffixes have been found, and proof has been found that this must be a declaration.
-    -- Now to give all the collected suffixes and a function that creates the declaration
-    complexDecl :: [PrefixExp] -> [MExpr] -> PFExprSuffix -> ([PFExprSuffix], PrefixExp -> Stat)
-    complexDecl vars exprs s = ([s], \pf -> Def (zip (pf : vars) $ map Just exprs ++ repeat Nothing))
+-- | Local definition
+parseLocalDefinition :: AParser Stat
+parseLocalDefinition = def <$> parseLocalVarList <*> option [] (pMTok Equals *> parseExpressionList) <?> "variable declaration"
+  where
+    def :: [PrefixExp] -> [MExpr] -> Stat
+    def ps exs = LocDef $ zip ps (map Just exs ++ repeat Nothing)
 
--- | Parse a single statement
-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
+-- | Global function definition
+parseFunction :: AParser Stat
+parseFunction =
+  AFunc
+    <$ pMTok Function
+    <*> parseFuncName
+    <*> between (pMTok LRound) (pMTok RRound) parseParList
     <*> parseBlock
     <* pMTok End
-      <<|> ARepeat
-    <$ pMTok Repeat
-    <*> parseBlock
-    <* pMTok Until
-    <*> parseExpression
-      <<|> parseIf
-      <<|> parseFor
-      <<|> AFunc
+    <?> "function definition"
+
+-- | Local function definition
+parseLocalFunction :: AParser Stat
+parseLocalFunction =
+  ALocFunc
     <$ pMTok Function
-    <*> parseFuncName
-    <*> pPacked (pMTok LRound) (pMTok RRound) parseParList
+    <*> parseLocFuncName
+    <*> between (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)
-              <$ pMTok Function
-              <*> parseLocFuncName
-              <*> 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 function definition"
 
 -- | Parse if then elseif then else end expressions
 parseIf :: AParser Stat
@@ -277,80 +275,68 @@
     <*> parseBlock
     <*>
     -- elseif
-    pMany (annotated MElseIf $ (,) <$ pMTok Elseif <*> parseExpression <* pMTok Then <*> parseBlock)
+    many (annotated MElseIf $ (,) <$ pMTok Elseif <*> parseExpression <* pMTok Then <*> parseBlock)
     <*>
     -- else
-    optional (annotated MElse $ pMTok Else *> parseBlock)
+    optionMaybe (annotated MElse $ pMTok Else *> parseBlock)
     <* pMTok End
+    <?> "if statement"
 
--- | Parse numeric and generic for loops
 parseFor :: AParser Stat
-parseFor = do
-  pMTok For
-  firstName <- pName
-  -- If you see an =-sign, it's a numeric for loop. It'll be a generic for loop otherwise
-  isNumericLoop <- (const True <$> pMTok Equals <<|> const False <$> pReturn ())
-  if isNumericLoop
-    then do
-      startExp <- parseExpression
-      pMTok Comma
-      toExp <- parseExpression
-      step <- pMTok Comma *> parseExpression <<|> MExpr <$> pPos' <*> pReturn (ANumber "1")
-      pMTok Do
-      block <- parseBlock
-      pMTok End
-      pReturn $ ANFor firstName startExp toExp step block
-    else do
-      vars <- (:) firstName <$ pMTok Comma <*> parseNameList <<|> pReturn [firstName]
-      pMTok In
-      exprs <- parseExpressionList
-      pMTok Do
-      block <- parseBlock
-      pMTok End
-      pReturn $ AGFor vars exprs block
+parseFor = parseNFor <|> parseGFor
 
--- | Parse a return value
-parseReturn :: AParser AReturn
-parseReturn = AReturn <$> pPos' <* pMTok Return <*> opt parseExpressionList [] <* pMany (pMTok Semicolon)
+-- | Parse numeric for loop
+parseNFor :: AParser Stat
+parseNFor = flip (<?>) "numeric for loop" $
+  do
+    name <- try $ do
+      _ <- pMTok For
+      name <- pName
+      _ <- pMTok Equals
+      return name
 
--- | Label
-parseLabel :: AParser MToken
-parseLabel = pMSatisfy isLabel (Label "" "someLabel" "") "Some label"
+    start <- parseExpression
+    _ <- pMTok Comma
+    to <- parseExpression
+    st <- step
+    _ <- pMTok Do
+    blk <- parseBlock
+    _ <- pMTok End
+
+    return $ ANFor name start to st blk
   where
-    isLabel :: MToken -> Bool
-    isLabel (MToken _ (Label{})) = True
-    isLabel _ = False
+    step :: AParser MExpr
+    step = pMTok Comma *> parseExpression <|> annotated MExpr (return (ANumber "1"))
 
+-- | Generic for loop
+parseGFor :: AParser Stat
+parseGFor = AGFor <$ pMTok For <*> parseNameList <* pMTok In <*> parseExpressionList <* pMTok Do <*> parseBlock <* pMTok End <?> "generic for loop"
+
 -- | Function name (includes dot indices and meta indices)
 parseFuncName :: AParser FuncName
 parseFuncName =
   (\a b c -> FuncName (a : b) c)
     <$> pName
-    <*> pMany (pMTok Dot *> pName)
-    <*> opt (Just <$ pMTok Colon <*> pName) Nothing
+    <*> many (pMTok Dot *> pName)
+    <*> option Nothing (Just <$ pMTok Colon <*> pName)
+    <?> "function name"
 
--- | Local function name. Does not include dot and meta indices, since they're not allowed in meta functions
+-- | Local function name: cannot be a meta function nor indexed
 parseLocFuncName :: AParser FuncName
-parseLocFuncName = (\a -> FuncName [a] Nothing) <$> pName
+parseLocFuncName = (\name -> FuncName [name] Nothing) <$> pName <?> "function name"
 
 -- | Parse a number into an expression
 parseNumber :: AParser Expr
-parseNumber = toAnumber <$> pMSatisfy isNumber (TNumber "0") "Number"
+parseNumber = pMToken isNumber <?> "number"
   where
-    isNumber :: MToken -> Bool
-    isNumber (MToken _ (TNumber _)) = True
-    isNumber _ = False
-
-    -- A better solution would be to have a single `MToken -> Maybe Expr` function, but I am too
-    -- lazy to write that.
-    toAnumber :: MToken -> Expr
-    toAnumber = \case
-      (MToken _ (TNumber str)) -> ANumber str
-      _ -> error "unreachable"
+    isNumber :: MToken -> Maybe Expr
+    isNumber = \case
+      MToken _ (TNumber str) -> Just $ ANumber str
+      _ -> Nothing
 
 -- | Parse any kind of string
 parseString :: AParser MToken
-parseString = pMSatisfy isString (DQString "someString") "String"
+parseString = pMSatisfy isString <?> "string"
   where
     isString :: MToken -> Bool
     isString (MToken _ (DQString _)) = True
@@ -360,80 +346,112 @@
 
 -- | Parse an identifier
 pName :: AParser MToken
-pName = pMSatisfy isName (Identifier "someVariable") "Variable"
+pName = pMSatisfy isName <?> "identifier"
   where
     isName :: MToken -> Bool
     isName (MToken _ (Identifier _)) = True
     isName _ = False
 
+-- | Parse a list of identifiers
+parseNameList :: AParser [MToken]
+parseNameList = sepBy1 pName (pMTok Comma)
+
 -- | Parse variable list (var1, var2, var3)
 parseVarList :: AParser [PrefixExp]
-parseVarList = pList1Sep (pMTok Comma) parseVar
+parseVarList = sepBy1 parseVar (pMTok Comma)
 
--- | Parse local variable list (var1, var2, var3), without suffixes
+-- | Parse local variable list (var1, var2, var3)
 parseLocalVarList :: AParser [PrefixExp]
-parseLocalVarList = pList1Sep (pMTok Comma) (PFVar <$> pName <*> pure [])
+parseLocalVarList = sepBy1 (PFVar <$> pName <*> pure []) (pMTok Comma)
 
+-- | Parse list of function parameters
+parseParList :: AParser [MToken]
+parseParList = option [] $ nameParam <|> vararg
+  where
+    vararg = (: []) <$> pMTok VarArg <?> "..."
+    nameParam = (:) <$> pName <*> moreParams <?> "parameter"
+    moreParams = option [] $ pMTok Comma *> (nameParam <|> vararg)
+
 -- | list of expressions
 parseExpressionList :: AParser [MExpr]
-parseExpressionList = pList1Sep (pMTok Comma) parseExpression
+parseExpressionList = sepBy1 parseExpression (pMTok Comma)
 
 -- | Subexpressions, i.e. without operators
 parseSubExpression :: AParser Expr
 parseSubExpression =
   ANil
     <$ pMTok Nil
-      <<|> AFalse
+    <|> AFalse
     <$ pMTok TFalse
-      <<|> ATrue
+    <|> ATrue
     <$ pMTok TTrue
-      <<|> parseNumber
-      <<|> AString
+    <|> parseNumber
+    <|> AString
     <$> parseString
-      <<|> AVarArg
+    <|> AVarArg
     <$ pMTok VarArg
-      <<|> parseAnonymFunc
-      <<|> APrefixExpr
+    <|> parseAnonymFunc
+    <|> APrefixExpr
     <$> parsePrefixExp
-      <<|> ATableConstructor
+    <|> ATableConstructor
     <$> parseTableConstructor
+    <?> "expression"
 
 -- | Separate parser for anonymous function subexpression
 parseAnonymFunc :: AParser Expr
 parseAnonymFunc =
   AnonymousFunc
     <$ pMTok Function
-    <*> pPacked (pMTok LRound) (pMTok RRound) parseParList
+    <* pMTok LRound
+    <*> parseParList
+    <* pMTok RRound
     <*> parseBlock
     <* pMTok End
+    <?> "anonymous function"
 
 -- | Parse operators of the same precedence in a chain
 samePrioL :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr
-samePrioL ops pr = pChainl (choice (map f ops)) pr
+samePrioL ops pr = chainl1 pr (choice (map f ops))
   where
-    choice = foldr (<<|>) pFail
     f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)
-    f (t, at) = (\p e1 e2 -> MExpr p (BinOpExpr at e1 e2)) <$> pPos' <* pMTok t
+    f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t)
 
 samePrioR :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr
-samePrioR ops pr = pChainr (choice (map f ops)) pr
+samePrioR ops pr = chainl1 pr (choice (map f ops))
   where
-    choice = foldr (<<|>) pFail
     f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)
-    f (t, at) = (\p e1 e2 -> MExpr p (BinOpExpr at e1 e2)) <$> pPos' <* pMTok t
+    f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t)
 
 -- | 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
 
+-- | Parses a binary operator
+parseBinOp :: AParser BinOp
+parseBinOp =
+  AOr <$ pMTok Or
+    <|> AOr <$ pMTok COr
+    <|> AAnd <$ pMTok And
+    <|> AAnd <$ pMTok CAnd
+    <|> ALT <$ pMTok TLT
+    <|> AGT <$ pMTok TGT
+    <|> ALEQ <$ pMTok TLEQ
+    <|> AGEQ <$ pMTok TGEQ
+    <|> ANEq <$ pMTok TNEq
+    <|> ANEq <$ pMTok TCNEq
+    <|> AEq <$ pMTok TEq
+    <|> AConcatenate <$ pMTok Concatenate
+    <|> APlus <$ pMTok Plus
+    <|> BinMinus <$ pMTok Minus
+    <|> AMultiply <$ pMTok Multiply
+    <|> ADivide <$ pMTok Divide
+    <|> AModulus <$ pMTok Modulus
+    <|> APower <$ pMTok Power
+
 -- | Operators, sorted by priority
 -- Priority from: http://www.lua.org/manual/5.2/manual.html#3.4.7
 lvl1, lvl2, lvl3, lvl4, lvl5, lvl6, lvl8 :: [(Token, BinOp)]
@@ -449,88 +467,44 @@
 -- | Parse chains of binary and unary operators
 parseExpression :: AParser MExpr
 parseExpression =
-  samePrioL lvl1 $
-    samePrioL lvl2 $
-      samePrioL lvl3 $
-        samePrioR lvl4 $
-          samePrioL lvl5 $
-            samePrioL lvl6 $
-              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
+  samePrioL
+    lvl1
+    ( samePrioL lvl2 $
+        samePrioL lvl3 $
+          samePrioR lvl4 $
+            samePrioL lvl5 $
+              samePrioL lvl6 $
+                annotated MExpr (UnOpExpr <$> parseUnOp <*> parseExpression)
+                  <|> samePrioR lvl8 (annotated MExpr (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7
+    )
+    <?> "expression"
 
 -- | Prefix expressions
 -- can have any arbitrary list of expression suffixes
 parsePrefixExp :: AParser PrefixExp
-parsePrefixExp = pPrefixExp (pMany pPFExprSuffix)
+parsePrefixExp = pPrefixExp (many pPFExprSuffix)
 
 -- | Prefix expressions
 -- 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
-pPFExprSuffix = pPFExprCallSuffix <<|> pPFExprIndexSuffix
+pPFExprSuffix = pPFExprCallSuffix <|> pPFExprIndexSuffix
 
 -- | Parse an indexing expression suffix
 pPFExprCallSuffix :: AParser PFExprSuffix
 pPFExprCallSuffix =
   Call
     <$> parseArgs
-      <<|> MetaCall
+    <|> MetaCall
     <$ pMTok Colon
     <*> pName
     <*> parseArgs
+    <?> "function call"
 
 -- | Parse an indexing expression suffix
 pPFExprIndexSuffix :: AParser PFExprSuffix
@@ -539,38 +513,33 @@
     <$ pMTok LSquare
     <*> parseExpression
     <* pMTok RSquare
-      <<|> DotIndex
+    <|> DotIndex
     <$ pMTok Dot
     <*> pName
+    <?> "indexation"
 
 -- | Function calls are prefix expressions, but the last suffix MUST be either a function call or a metafunction call
 pFunctionCall :: AParser PrefixExp
-pFunctionCall = pPrefixExp suffixes
+pFunctionCall = pPrefixExp suffixes <?> "function call"
   where
     suffixes =
       concat
-        <$> pSome
-          ( (\ix c -> ix ++ [c])
-              <$> pSome pPFExprIndexSuffix
-              <*> pPFExprCallSuffix
-                <<|> (: [])
-              <$> pPFExprCallSuffix
+        <$> many1
+          ( (\ix c -> ix ++ [c]) <$> many1 pPFExprIndexSuffix <*> pPFExprCallSuffix
+              <|> (: []) <$> pPFExprCallSuffix
           )
 
 -- | single variable. Note: definition differs from reference to circumvent the left recursion
 -- var ::= Name [{PFExprSuffix}* indexation] | '(' exp ')' {PFExprSuffix}* indexation
 -- where "{PFExprSuffix}* indexation" is any arbitrary sequence of prefix expression suffixes that end with an indexation
 parseVar :: AParser PrefixExp
-parseVar = pPrefixExp suffixes
+parseVar = pPrefixExp suffixes <?> "variable"
   where
     suffixes =
       concat
-        <$> pMany
-          ( (\c ix -> c ++ [ix])
-              <$> pSome pPFExprCallSuffix
-              <*> pPFExprIndexSuffix
-                <<|> (: [])
-              <$> pPFExprIndexSuffix
+        <$> many
+          ( (\c ix -> c ++ [ix]) <$> many1 pPFExprCallSuffix <*> pPFExprIndexSuffix
+              <|> (: []) <$> pPFExprIndexSuffix
           )
 
 -- | Arguments of a function call (including brackets)
@@ -578,44 +547,39 @@
 parseArgs =
   ListArgs
     <$ pMTok LRound
-    <*> opt parseExpressionList []
+    <*> option [] parseExpressionList
     <* pMTok RRound
-      <<|> TableArg
+    <|> TableArg
     <$> parseTableConstructor
-      <<|> StringArg
+    <|> StringArg
     <$> parseString
+    <?> "function arguments"
 
 -- | Table constructor
 parseTableConstructor :: AParser [Field]
-parseTableConstructor = pMTok LCurly *> parseFieldList <* pMTok RCurly
+parseTableConstructor = pMTok LCurly *> parseFieldList <* pMTok RCurly <?> "table"
 
 -- | A list of table entries
 -- Grammar: field {separator field} [separator]
 parseFieldList :: AParser [Field]
-parseFieldList =
-  parseField
-    <**> ( parseFieldSep
-            <**> ((\rest sep field -> field sep : rest) <$> (parseFieldList <<|> pure []))
-            <<|> pure (\field -> [field NoSep])
-         )
-    <<|> pure []
+parseFieldList = option [] $ do
+  field <- parseField
+  sep <- parseOptionalFieldSep
+  case sep of
+    NoSep -> pure [field NoSep]
+    _ -> (field sep :) <$> parseFieldList
 
--- | Makes an unnamed field out of a list of suffixes, a position and a name.
--- This function gets called when we know a field is unnamed and contains an expression that
--- starts with a PrefixExp
--- See the parseField parser where it is used
-makeUnNamedField :: Maybe (BinOp, MExpr) -> ExprSuffixList -> (Region, MToken) -> (FieldSep -> Field)
-makeUnNamedField Nothing sfs (p, nm) = UnnamedField $ MExpr p $ APrefixExpr $ PFVar nm sfs
-makeUnNamedField (Just (op, mexpr)) sfs (p, nm) = UnnamedField $ MExpr p $ (merge (APrefixExpr $ PFVar nm sfs) mexpr)
-  where
-    -- Merge the first prefixExpr into the expression tree
-    merge :: Expr -> MExpr -> Expr
-    merge pf e@(MExpr _ (BinOpExpr op' l r)) =
-      if op > op'
-        then BinOpExpr op' (MExpr p $ (merge pf l)) r
-        else BinOpExpr op (MExpr p pf) e
-    merge pf e = BinOpExpr op (MExpr p pf) e
+-- | Parse a named field (e.g. {named = field})
+-- Contains try to avoid conflict with unnamed fields
+parseNamedField :: AParser (FieldSep -> Field)
+parseNamedField = do
+  name <- try $ do
+    n <- pName
+    _ <- pMTok Equals
+    return n
 
+  NamedField name <$> parseExpression
+
 -- | A field in a table
 parseField :: AParser (FieldSep -> Field)
 parseField =
@@ -625,36 +589,18 @@
     <* 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
+    <|> parseNamedField
+    <|> UnnamedField
     <$> parseExpression
+    <?> "field"
 
--- | Field separator
+-- | Field separator, either comma or semicolon
 parseFieldSep :: AParser FieldSep
 parseFieldSep =
-  CommaSep
-    <$ pMTok Comma
-      <<|> SemicolonSep
-    <$ pMTok Semicolon
+  CommaSep <$ pMTok Comma
+    <|> SemicolonSep <$ pMTok Semicolon
+
+-- | Optional field separator, returns NoSep when no separator is found
+-- Used at the end of a field list
+parseOptionalFieldSep :: AParser FieldSep
+parseOptionalFieldSep = option NoSep parseFieldSep
diff --git a/src/GLua/Position.hs b/src/GLua/Position.hs
new file mode 100644
--- /dev/null
+++ b/src/GLua/Position.hs
@@ -0,0 +1,83 @@
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE OverloadedStrings #-}
+
+-- | Reimplements the LineColPos from `uu-parsinglib`, and adds some more functions related to
+-- positioning.
+module GLua.Position where
+
+import Data.Aeson
+import GHC.Generics (Generic)
+
+data LineColPos = LineColPos {lcpLine :: !Int, lcpColumn :: !Int, lcpPos :: !Int}
+  deriving (Eq, Show)
+
+-- The order depends on line and column, not the position, though this should not make a difference
+-- when both LineColPoses are from the same file.
+instance Ord LineColPos where
+  compare (LineColPos l c _) (LineColPos l' c' _) =
+    compare l l' `mappend` compare c c'
+
+instance ToJSON LineColPos where
+  -- this generates a Value
+  toJSON (LineColPos line col p) =
+    object ["line" .= line, "column" .= col, "pos" .= p]
+
+#if MIN_VERSION_aeson(0,10,0)
+  -- this encodes directly to a bytestring Builder
+  toEncoding (LineColPos line col p) =
+    pairs ("line" .= line <> "column" .= col <> "pos" .= p)
+#endif
+
+instance FromJSON LineColPos where
+  parseJSON = withObject "LineColPos" $ \v ->
+    LineColPos
+      <$> v .: "line"
+      <*> v .: "column"
+      <*> v .: "pos"
+
+data Region = Region {rgStart :: !LineColPos, rgEnd :: !LineColPos}
+  deriving (Eq, Show, Generic)
+
+-- Ord instance defined explicitly for clarity.
+instance Ord Region where
+  compare (Region s e) (Region s' e') =
+    compare s s' `mappend` compare e e'
+
+instance ToJSON Region
+instance FromJSON Region
+
+-- | An empty region from position 0 to position 0.
+emptyRg :: Region
+emptyRg = Region (LineColPos 0 0 0) (LineColPos 0 0 0)
+
+-- | Hack: Chooses left region if it is not 'emptyRg', and the right region if it is.
+rgOr :: Region -> Region -> Region
+rgOr l r
+  | l == emptyRg = r
+  | otherwise = l
+
+-- | Whether the first region ends strictly before the second region starts
+before :: Region -> Region -> Bool
+before (Region _ (LineColPos _ _ p)) (Region (LineColPos _ _ p') _) = p < p'
+
+-- | Whether the first region ends before or on the same line as the second region
+beforeOrOnLine :: Region -> Region -> Bool
+beforeOrOnLine (Region _ (LineColPos l _ _)) (Region (LineColPos l' _ _) _) = l <= l'
+
+-- | Whether the first region ends before the second region ends
+beforeEnd :: Region -> Region -> Bool
+beforeEnd (Region _ (LineColPos _ _ p)) (Region _ (LineColPos _ _ p')) = p < p'
+
+-- | Whether the first region ends before or on the same line as the END of the second region
+beforeEndLine :: Region -> Region -> Bool
+beforeEndLine (Region _ (LineColPos l _ _)) (Region _ (LineColPos l' _ _)) = l <= l'
+
+-- | Returns a region that starts at the start of the first region
+-- and ends BEFORE the start of the second region
+upto :: Region -> Region -> Region
+upto lr rr = case (rgEnd lr, rgStart rr) of
+  (_, LineColPos 0 0 0) -> lr
+  (LineColPos l c _, LineColPos l' c' _)
+    | l' > l || (l' == l && c' > c) -> lr
+    | otherwise -> Region (rgStart lr) (rgStart rr)
diff --git a/src/GLua/TokenTypes.hs b/src/GLua/TokenTypes.hs
--- a/src/GLua/TokenTypes.hs
+++ b/src/GLua/TokenTypes.hs
@@ -1,18 +1,16 @@
-{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE LambdaCase #-}
-{-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
 -- | Contains class instances and functions related to tokens
 module GLua.TokenTypes where
 
-import Data.Aeson
-import Data.List
-import GHC.Generics
-import GLua.AG.Token
-import Text.ParserCombinators.UU.BasicInstances
+import Data.Aeson (FromJSON, ToJSON)
+import Data.List (foldl', partition)
+import GHC.Generics (Generic)
+import GLua.AG.Token (MToken (..), Token (..))
+import GLua.Position (LineColPos (..), Region (..))
 
 instance Show MToken where
   show (MToken _ tok) = show tok
@@ -30,60 +28,18 @@
 instance ToJSON MToken
 instance FromJSON MToken
 
-instance Eq LineColPos where
-  (LineColPos l c p) == (LineColPos l' c' p') = l == l' && c == c' && p == p'
-
-instance Ord LineColPos where
-  compare (LineColPos l c _) (LineColPos l' c' _) =
-    compare l l' `mappend` compare c c'
-
-instance ToJSON LineColPos where
-  -- this generates a Value
-  toJSON (LineColPos line col p) =
-    object ["line" .= line, "column" .= col, "pos" .= p]
-
-#if MIN_VERSION_aeson(0,10,0)
-  -- this encodes directly to a bytestring Builder
-  toEncoding (LineColPos line col p) =
-    pairs ("line" .= line <> "column" .= col <> "pos" .= p)
-#endif
-
-instance FromJSON LineColPos where
-  parseJSON = withObject "LineColPos" $ \v ->
-    LineColPos
-      <$> v .: "line"
-      <*> v .: "column"
-      <*> v .: "pos"
-
-instance Eq Region where
-  Region s e == Region s' e' = s == s' && e == e'
-
-instance Ord Region where
-  compare (Region s e) (Region s' e') =
-    compare s s' `mappend` compare e e'
-
-instance ToJSON Region
-instance FromJSON Region
-
 instance ToJSON Token
 instance FromJSON Token
 
--- | Metatoken algebra
-type MTokenAlgebra mtok = Region -> Token -> mtok
-
 mpos :: MToken -> Region
 mpos (MToken p _) = p
 
 mtok :: MToken -> Token
 mtok (MToken _ t) = t
 
-emptyRg :: Region
-emptyRg = Region (LineColPos 0 0 0) (LineColPos 0 0 0)
-
-rgOr :: Region -> Region -> Region
-rgOr l r
-  | l == emptyRg = r
-  | otherwise = l
+-- | Map function for an MToken
+mapMtok :: (Token -> a) -> MToken -> a
+mapMtok f (MToken _ t) = f t
 
 ----------------------------------------
 --  Correcting token positions
@@ -98,373 +54,163 @@
 customAdvanceToken :: LineColPos -> Token -> LineColPos
 customAdvanceToken (LineColPos line pos' abs') t = let len = tokenSize t in LineColPos line (pos' + len) (abs' + len)
 
--- | Whether the first region ends strictly before the second region starts
-before :: Region -> Region -> Bool
-before (Region _ (LineColPos _ _ p)) (Region (LineColPos _ _ p') _) = p < p'
-
--- | Whether the first region ends before or on the same line as the second region
-beforeOrOnLine :: Region -> Region -> Bool
-beforeOrOnLine (Region _ (LineColPos l _ _)) (Region (LineColPos l' _ _) _) = l <= l'
-
--- | Whether the first region ends before the second region ends
-beforeEnd :: Region -> Region -> Bool
-beforeEnd (Region _ (LineColPos _ _ p)) (Region _ (LineColPos _ _ p')) = p < p'
-
--- | Whether the first region ends before or on the same line as the END of the second region
-beforeEndLine :: Region -> Region -> Bool
-beforeEndLine (Region _ (LineColPos l _ _)) (Region _ (LineColPos l' _ _)) = l <= l'
-
-rgStart :: Region -> LineColPos
-rgStart (Region s _) = s
-
-rgEnd :: Region -> LineColPos
-rgEnd (Region _ e) = e
-
--- | Returns a region that starts at the start of the first region
--- and ends BEFORE the start of the second region
-upto :: Region -> Region -> Region
-upto lr rr = case (rgEnd lr, rgStart rr) of
-  (_, LineColPos 0 0 0) -> lr
-  (LineColPos l c _, LineColPos l' c' _)
-    | l' > l || (l' == l && c' > c) -> lr
-    | otherwise -> Region (rgStart lr) (rgStart rr)
-
--- | Fold over metatoken
-foldMToken :: MTokenAlgebra t -> MToken -> t
-foldMToken alg (MToken p t) = alg p t
-
--- | mFold: Apply a TokenAlgebra to an MToken
-mFold :: TokenAlgebra a -> MToken -> a
-mFold alg = foldMToken f
-  where
-    f _ = foldToken alg
-
--- | Huge token algebra
-type TokenAlgebra token =
-  ( ( -- Comments and whitespace
-      String -> token
-    , String -> token -- DashComment
-    , Int -> String -> token -- DashBlockComment
-    , String -> token -- SlashComment
-    , String -> token -- SlashBlockComment
-    , token -- Semicolon
-    )
-  , ( -- Constants
-      String -> token -- TNumber
-    , String -> token -- DQString
-    , String -> token -- SQString
-    , String -> token -- MLString
-    , token -- TTrue
-    , token -- TFalse
-    , token -- Nil
-    , token -- VarArg
-    ) -- operators
-  , ( token -- Plus
-    , token -- Minus
-    , token -- Multiply
-    , token -- Divide
-    , token -- Modulus
-    , token -- Power
-    , token -- TEq
-    , token -- TNEq
-    , token -- TCNEq
-    , token -- TLEQ
-    , token -- TGEQ
-    , token -- TLT
-    , token -- TGT
-    , token -- Equals
-    , token -- Concatenate
-    , token -- Colon
-    , token -- Dot
-    , token -- Comma
-    , token -- Hash
-    , token -- Not
-    , token -- CNot
-    , token -- And
-    , token -- CAnd
-    , token -- Or
-    , token -- COr
-    )
-  , ( -- Keywords
-      token -- Function
-    , token -- Local
-    , token -- If
-    , token -- Then
-    , token -- Elseif
-    , token -- Else
-    , token -- For
-    , token -- In
-    , token -- Do
-    , token -- While
-    , token -- Until
-    , token -- Repeat
-    , token -- Continue
-    , token -- Break
-    , token -- Return
-    , token -- End
-    )
-  , ( -- Brackets
-      token -- LRound
-    , token -- RRound
-    , token -- LCurly
-    , token -- RCurly
-    , token -- LSquare
-    , token -- RSquare
-    )
-  , ( -- Other
-      String -> String -> String -> token -- Label
-    , String -> token -- Identifier
-    )
-  )
-
--- | Fold over token definition
-foldToken :: TokenAlgebra t -> Token -> t
-foldToken ((tWhitespace, tDashComment, tDashBlockComment, tSlashComment, tSlashBlockComment, tSemicolon), (tTNumber, tDQString, tSQString, tMLString, tTTrue, tTFalse, tNil, tVarArg), (tPlus, tMinus, tMultiply, tDivide, tModulus, tPower, tTEq, tTNEq, tTCNEq, tTLEQ, tTGEQ, tTLT, tTGT, tEquals, tConcatenate, tColon, tDot, tComma, tHash, tNot, tCNot, tAnd, tCAnd, tOr, tCOr), (tFunction, tLocal, tIf, tThen, tElseif, tElse, tFor, tIn, tDo, tWhile, tUntil, tRepeat, tContinue, tBreak, tReturn, tEnd), (tLRound, tRRound, tLCurly, tRCurly, tLSquare, tRSquare), (tLabel, tIdentifier)) = fold
-  where
-    fold (Whitespace str) = tWhitespace str
-    fold (DashComment str) = tDashComment str
-    fold (DashBlockComment depth str) = tDashBlockComment depth str
-    fold (SlashComment str) = tSlashComment str
-    fold (SlashBlockComment str) = tSlashBlockComment str
-    fold (TNumber str) = tTNumber str
-    fold (Label whitespaceBefore str whitespaceAfter) = tLabel whitespaceBefore str whitespaceAfter
-    fold (Identifier str) = tIdentifier str
-    fold (DQString str) = tDQString str
-    fold (SQString str) = tSQString str
-    fold (MLString str) = tMLString str
-    fold And = tAnd
-    fold CAnd = tCAnd
-    fold Break = tBreak
-    fold Do = tDo
-    fold Else = tElse
-    fold Elseif = tElseif
-    fold End = tEnd
-    fold TFalse = tTFalse
-    fold For = tFor
-    fold Function = tFunction
-    fold If = tIf
-    fold In = tIn
-    fold Local = tLocal
-    fold Nil = tNil
-    fold Not = tNot
-    fold CNot = tCNot
-    fold Or = tOr
-    fold COr = tCOr
-    fold Repeat = tRepeat
-    fold Continue = tContinue
-    fold Return = tReturn
-    fold Then = tThen
-    fold TTrue = tTTrue
-    fold Until = tUntil
-    fold While = tWhile
-    fold Plus = tPlus
-    fold Minus = tMinus
-    fold Multiply = tMultiply
-    fold Divide = tDivide
-    fold Modulus = tModulus
-    fold Power = tPower
-    fold Hash = tHash
-    fold TEq = tTEq
-    fold TNEq = tTNEq
-    fold TCNEq = tTCNEq
-    fold TLEQ = tTLEQ
-    fold TGEQ = tTGEQ
-    fold TLT = tTLT
-    fold TGT = tTGT
-    fold Equals = tEquals
-    fold LRound = tLRound
-    fold RRound = tRRound
-    fold LCurly = tLCurly
-    fold RCurly = tRCurly
-    fold LSquare = tLSquare
-    fold RSquare = tRSquare
-    fold Semicolon = tSemicolon
-    fold Colon = tColon
-    fold Comma = tComma
-    fold Dot = tDot
-    fold Concatenate = tConcatenate
-    fold VarArg = tVarArg
-
 -- | Simple show instance
 instance Show Token where
-  show =
-    foldToken
-      (
-        ( id
-        , ("--" ++) -- DashComment
-        , \d s -> let n = replicate d '=' in "--[" ++ n ++ '[' : s ++ ']' : n ++ "]" -- DashBlockComment
-        , ("//" ++) -- SlashComment
-        , \s -> "/*" ++ s ++ "*/" -- SlashBlockComment
-        , ";" -- Semicolon
-        )
-      ,
-        ( id -- TNumber
-        , \s -> "\"" ++ s ++ "\"" -- DQString
-        , \s -> "'" ++ s ++ "'" -- SQString
-        , id -- MLString
-        , "true" -- TTrue
-        , "false" -- TFalse
-        , "nil" -- Nil
-        , "..." -- VarArg
-        )
-      ,
-        ( "+" -- Plus
-        , "-" -- Minus
-        , "*" -- Multiply
-        , "/" -- Divide
-        , "%" -- Modulus
-        , "^" -- Power
-        , "==" -- TEq
-        , "~=" -- TNEq
-        , "!=" -- TCNEq
-        , "<=" -- TLEQ
-        , ">=" -- TGEQ
-        , "<" -- TLT
-        , ">" -- TGT
-        , "=" -- Equals
-        , ".." -- Concatenate
-        , ":" -- Colon
-        , "." -- Dot
-        , "," -- Comma
-        , "#" -- Hash
-        , "not" -- Not
-        , "!" -- CNot
-        , "and" -- And
-        , "&&" -- CAnd
-        , "or" -- Or
-        , "||" -- COr
-        )
-      ,
-        ( "function" -- Function
-        , "local" -- Local
-        , "if" -- If
-        , "then" -- Then
-        , "elseif" -- Elseif
-        , "else" -- Else
-        , "for" -- For
-        , "in" -- In
-        , "do" -- Do
-        , "while" -- While
-        , "until" -- Until
-        , "repeat" -- Repeat
-        , "continue" -- Continue
-        , "break" -- Break
-        , "return" -- Return
-        , "end" -- End
-        )
-      ,
-        ( "(" -- LRound
-        , ")" -- RRound
-        , "{" -- LCurly
-        , "}" -- RCurly
-        , "[" -- LSquare
-        , "]" -- RSquare
-        )
-      ,
-        ( \spaceBefore ident spaceAfter -> spaceBefore ++ ident ++ spaceAfter -- Label
-        , id -- Identifier
-        )
-      )
+  show token = case token of
+    Whitespace s -> s
+    DashComment c -> "--" ++ c
+    DashBlockComment d s -> let n = replicate d '=' in "--[" ++ n ++ '[' : s ++ ']' : n ++ "]"
+    SlashComment c -> "//" ++ c
+    SlashBlockComment s -> "/*" ++ s ++ "*/"
+    Semicolon -> ";"
+    TNumber n -> n
+    DQString s -> "\"" ++ s ++ "\""
+    SQString s -> "'" ++ s ++ "'"
+    MLString s -> s
+    TTrue -> "true"
+    TFalse -> "false"
+    Nil -> "nil"
+    VarArg -> "..."
+    Plus -> "+"
+    Minus -> "-"
+    Multiply -> "*"
+    Divide -> "/"
+    Modulus -> "%"
+    Power -> "^"
+    TEq -> "=="
+    TNEq -> "~="
+    TCNEq -> "!="
+    TLEQ -> "<="
+    TGEQ -> ">="
+    TLT -> "<"
+    TGT -> ">"
+    Equals -> "="
+    Concatenate -> ".."
+    Colon -> ":"
+    Dot -> "."
+    Comma -> ","
+    Hash -> "#"
+    Not -> "not"
+    CNot -> "!"
+    And -> "and"
+    CAnd -> "&&"
+    Or -> "or"
+    COr -> "||"
+    Function -> "function"
+    Local -> "local"
+    If -> "if"
+    Then -> "then"
+    Elseif -> "elseif"
+    Else -> "else"
+    For -> "for"
+    In -> "in"
+    Do -> "do"
+    While -> "while"
+    Until -> "until"
+    Repeat -> "repeat"
+    Continue -> "continue"
+    Break -> "break"
+    Return -> "return"
+    End -> "end"
+    LRound -> "("
+    RRound -> ")"
+    LCurly -> "{"
+    RCurly -> "}"
+    LSquare -> "["
+    RSquare -> "]"
+    Label spaceBefore ident spaceAfter -> spaceBefore ++ ident ++ spaceAfter
+    Identifier i -> i
 
 -- | Whether an mtoken is a comment
 isWhitespace :: MToken -> Bool
-isWhitespace = mFold ((const True, const False, \_ _ -> False, const False, const False, False), (const False, const False, const False, const False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False), (\_ _ _ -> False, const False))
+isWhitespace = mapMtok $ \case
+  Whitespace{} -> True
+  _ -> False
 
 -- | Whether an mtoken is a comment
 isComment :: MToken -> Bool
-isComment = mFold ((const False, const True, \_ _ -> True, const True, const True, False), (const False, const False, const False, const False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False), (\_ _ _ -> False, const False))
+isComment = mapMtok $ \case
+  DashComment{} -> True
+  DashBlockComment{} -> True
+  SlashComment{} -> True
+  SlashBlockComment{} -> True
+  _ -> False
 
 -- | Split the tokens by comments and other tokens
 splitComments :: [MToken] -> ([MToken], [MToken])
 splitComments = partition isComment
 
+-- | Extracts the label name out of the token, returns empty string when the token is not a label or
+-- identifier.
 tokenLabel :: MToken -> String
-tokenLabel = mFold ((const "", const "", \_ _ -> "", const "", const "", ""), (const "", const "", const "", const "", "", "", "", ""), ("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), ("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), ("", "", "", "", "", ""), (\_ ident _ -> ident, id))
+tokenLabel = mapMtok $ \case
+  Label _ ident _ -> ident
+  Identifier ident -> ident
+  _ -> ""
 
 -- | The size of a token in characters
 tokenSize :: Token -> Int
-tokenSize =
-  foldToken
-    (
-      ( length -- whitespace
-      , (+ 2) . length -- DashComment
-      , \d s -> 6 + length s + 2 * d -- DashBlockComment
-      , (+ 2) . length -- SlashComment
-      , (+ 4) . length -- SlashBlockComment
-      , 1 -- Semicolon
-      )
-    ,
-      ( length -- TNumber
-      , (+ 2) . length -- DQString
-      , (+ 2) . length -- SQString
-      , length -- MLString
-      , 4 -- TTrue
-      , 5 -- TFalse
-      , 3 -- Nil
-      , 3 -- VarArg
-      )
-    ,
-      ( 1 -- Plus
-      , 1 -- Minus
-      , 1 -- Multiply
-      , 1 -- Divide
-      , 1 -- Modulus
-      , 1 -- Power
-      , 2 -- TEq
-      , 2 -- TNEq
-      , 2 -- TCNEq
-      , 2 -- TLEQ
-      , 2 -- TGEQ
-      , 1 -- TLT
-      , 1 -- TGT
-      , 1 -- Equals
-      , 2 -- Concatenate
-      , 1 -- Colon
-      , 1 -- Dot
-      , 1 -- Comma
-      , 1 -- Hash
-      , 3 -- Not
-      , 1 -- CNot
-      , 3 -- And
-      , 2 -- CAnd
-      , 2 -- Or
-      , 2 -- COr
-      )
-    ,
-      ( 8 -- Function
-      , 5 -- Local
-      , 2 -- If
-      , 4 -- Then
-      , 6 -- Elseif
-      , 4 -- Else
-      , 3 -- For
-      , 2 -- In
-      , 2 -- Do
-      , 5 -- While
-      , 5 -- Until
-      , 6 -- Repeat
-      , 8 -- Continue
-      , 5 -- Break
-      , 6 -- Return
-      , 3 -- End
-      )
-    ,
-      ( 1 -- LRound
-      , 1 -- RRound
-      , 1 -- LCurly
-      , 1 -- RCurly
-      , 1 -- LSquare
-      , 1 -- RSquare
-      )
-    ,
-      ( \spaceBefore ident spaceAfter ->
-          2 + length spaceBefore + length ident + length spaceAfter + 2 -- Label
-      , length -- Identifier
-      )
-    )
-
-isSingleLineComment :: Token -> Bool
-isSingleLineComment = \case
-  DashComment _ -> True
-  SlashComment _ -> True
-  _ -> False
+tokenSize = \case
+  Whitespace s -> length s
+  DashComment c -> 2 + length c
+  DashBlockComment d s -> 6 + length s + 2 * d
+  SlashComment c -> length c + 2
+  SlashBlockComment s -> length s + 2
+  Semicolon -> 1
+  TNumber n -> length n
+  DQString s -> length s + 2
+  SQString s -> length s + 2
+  MLString s -> length s
+  TTrue -> 4
+  TFalse -> 5
+  Nil -> 3
+  VarArg -> 3
+  Plus -> 1
+  Minus -> 1
+  Multiply -> 1
+  Divide -> 1
+  Modulus -> 1
+  Power -> 1
+  TEq -> 2
+  TNEq -> 2
+  TCNEq -> 2
+  TLEQ -> 2
+  TGEQ -> 2
+  TLT -> 1
+  TGT -> 1
+  Equals -> 1
+  Concatenate -> 2
+  Colon -> 1
+  Dot -> 1
+  Comma -> 1
+  Hash -> 1
+  Not -> 3
+  CNot -> 1
+  And -> 3
+  CAnd -> 2
+  Or -> 2
+  COr -> 2
+  Function -> 8
+  Local -> 5
+  If -> 2
+  Then -> 4
+  Elseif -> 6
+  Else -> 4
+  For -> 3
+  In -> 2
+  Do -> 2
+  While -> 5
+  Until -> 5
+  Repeat -> 6
+  Continue -> 8
+  Break -> 5
+  Return -> 6
+  End -> 3
+  LRound -> 1
+  RRound -> 1
+  LCurly -> 1
+  RCurly -> 1
+  LSquare -> 1
+  RSquare -> 1
+  Label spaceBefore ident spaceAfter -> 2 + length spaceBefore + length ident + length spaceAfter + 2
+  Identifier i -> length i
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,15302 +1,14147 @@
-{-# 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)
-              )
-        )
-  )
+
+
+{-# 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 GHC.Generics
+import GLua.Position
+{-# LINE 19 "src/GLuaFixer/AG/ASTLint.hs" #-}
+
+{-# LINE 10 "src/GLuaFixer/AG/../../GLua/AG/AST.ag" #-}
+
+import GLua.AG.Token
+import GLua.Position
+import GLua.TokenTypes ()
+import GHC.Generics
+import Data.Aeson
+{-# LINE 28 "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 GLua.Position (LineColPos(..), Region(..))
+import GLuaFixer.LintMessage
+import GLuaFixer.LintSettings
+{-# LINE 43 "src/GLuaFixer/AG/ASTLint.hs" #-}
+{-# LINE 29 "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 137 "src/GLuaFixer/AG/ASTLint.hs" #-}
+
+{-# LINE 660 "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 163 "src/GLuaFixer/AG/ASTLint.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 = ( 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 :: Region ->
+                       T_MExprList ->
+                       T_AReturn
+sem_AReturn_AReturn pos_ values_ =
+    (case (values_) of
+     { ( _valuesIcopy,values_1) ->
+         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 AReturn pos_ _valuesIcopy
+                 {-# LINE 202 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 224 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _valuesOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 229 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _valuesOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 234 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _valuesOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 239 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _valuesOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 244 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _valuesOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 249 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _valuesOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 254 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _valuesOscopeLevel ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsImtokenPos
+                                               {-# LINE 259 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _valuesOmtokenPos ->
+                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIloopLevel
+                                                {-# LINE 264 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _valuesOloopLevel ->
+                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIfuncName
+                                                 {-# LINE 269 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _valuesOfuncName ->
+                                          (case (({-# LINE 505 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  True
+                                                  {-# LINE 274 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _valuesOtopLevel ->
+                                           (case (({-# LINE 504 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _valuesIglobalDefinitions
+                                                         {-# LINE 286 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOglobalDefinitions ->
+                                                  (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _valuesIidentifier
+                                                          {-# LINE 291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOidentifier ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _valuesIisInModule
+                                                           {-# LINE 296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 506 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            pos_
+                                                            {-# LINE 301 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOmtokenPos ->
+                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _valuesIscopes
+                                                             {-# LINE 306 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOscopes ->
+                                                      (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              1
+                                                              {-# LINE 311 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOstatementCount ->
+                                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _valuesIvariableStyle
+                                                               {-# LINE 316 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOvariableStyle ->
+                                                        (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            NoReturn
+            {-# LINE 332 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 354 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 359 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 364 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 369 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 374 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 508 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        0
+                                        {-# LINE 379 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOstatementCount ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 384 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      AST comments_ _chunkIcopy
+                      {-# LINE 440 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 445 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                       )) of
+                { _lhsOcopy ->
+                (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                        _lhsIisMeta
+                        {-# LINE 450 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                        )) of
+                 { _chunkOisMeta ->
+                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                         _lhsIisInModule
+                         {-# LINE 455 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                         )) of
+                  { _chunkOisInModule ->
+                  (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                          _lhsIglobalDefinitions
+                          {-# LINE 460 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                          )) of
+                   { _chunkOglobalDefinitions ->
+                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                           _lhsIconfig
+                           {-# LINE 465 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                           )) of
+                    { _chunkOconfig ->
+                    (case (({-# LINE 293 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                            M.empty : _lhsIscopes
+                            {-# LINE 470 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                            )) of
+                     { _chunkOscopes ->
+                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                             _lhsIvariableStyle
+                             {-# LINE 475 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                             )) of
+                      { _chunkOvariableStyle ->
+                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                              _lhsIscopeLevel
+                              {-# LINE 480 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                              )) of
+                       { _chunkOscopeLevel ->
+                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                               _lhsImtokenPos
+                               {-# LINE 485 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                               )) of
+                        { _chunkOmtokenPos ->
+                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                _lhsIloopLevel
+                                {-# LINE 490 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                )) of
+                         { _chunkOloopLevel ->
+                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                 _lhsIfuncName
+                                 {-# LINE 495 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                 )) of
+                          { _chunkOfuncName ->
+                          (case (({-# LINE 294 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _chunkIglobalDefinitions
+                                        {-# LINE 507 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOglobalDefinitions ->
+                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _chunkIidentifier
+                                         {-# LINE 512 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOidentifier ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _chunkIisInModule
+                                          {-# LINE 517 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOisInModule ->
+                                   (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _chunkImtokenPos
+                                           {-# LINE 522 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _lhsOmtokenPos ->
+                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _chunkIscopes
+                                            {-# LINE 527 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _lhsOscopes ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _chunkIvariableStyle
+                                             {-# LINE 532 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _lhsOvariableStyle ->
+                                      (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 ListArgs _argsIcopy
+                 {-# LINE 580 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 602 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _argsOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 607 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _argsOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 612 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _argsOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 617 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _argsOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 622 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _argsOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 627 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _argsOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 632 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _argsOscopeLevel ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsImtokenPos
+                                               {-# LINE 637 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _argsOmtokenPos ->
+                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIloopLevel
+                                                {-# LINE 642 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _argsOloopLevel ->
+                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIfuncName
+                                                 {-# LINE 647 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _argsOfuncName ->
+                                          (case (({-# LINE 619 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  True
+                                                  {-# LINE 652 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _argsOtopLevel ->
+                                           (case (({-# LINE 618 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _argsIglobalDefinitions
+                                                         {-# LINE 664 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOglobalDefinitions ->
+                                                  (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _argsIidentifier
+                                                          {-# LINE 669 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOidentifier ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _argsIisInModule
+                                                           {-# LINE 674 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _argsImtokenPos
+                                                            {-# LINE 679 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOmtokenPos ->
+                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _argsIscopes
+                                                             {-# LINE 684 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOscopes ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _argsIvariableStyle
+                                                              {-# LINE 689 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOvariableStyle ->
+                                                       (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 TableArg _argIcopy
+                 {-# LINE 708 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 730 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _argOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 735 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _argOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 740 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _argOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 745 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _argOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 750 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _argOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 755 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _argOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 760 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _argOscopeLevel ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsImtokenPos
+                                               {-# LINE 765 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _argOmtokenPos ->
+                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIloopLevel
+                                                {-# LINE 770 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _argOloopLevel ->
+                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIfuncName
+                                                 {-# LINE 775 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _argOfuncName ->
+                                          (case (({-# LINE 621 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _argIglobalDefinitions
+                                                        {-# LINE 787 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOglobalDefinitions ->
+                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _argIidentifier
+                                                         {-# LINE 792 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOidentifier ->
+                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _argIisInModule
+                                                          {-# LINE 797 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisInModule ->
+                                                   (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _argImtokenPos
+                                                           {-# LINE 802 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOmtokenPos ->
+                                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _argIscopes
+                                                            {-# LINE 807 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOscopes ->
+                                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _argIvariableStyle
+                                                             {-# LINE 812 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOvariableStyle ->
+                                                      (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 StringArg _argIcopy
+                 {-# LINE 831 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIglobalDefinitions
+                                        {-# LINE 853 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _argOglobalDefinitions ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 858 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _argOscopes ->
+                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsImtokenPos
+                                          {-# LINE 863 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _argOmtokenPos ->
+                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta
+                                           {-# LINE 868 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _argOisMeta ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 873 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _argOisInModule ->
+                                     (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfuncName
+                                             {-# LINE 878 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _argOfuncName ->
+                                      (case (({-# LINE 135 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _argIglobalDefinitions
+                                                    {-# LINE 890 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _lhsOglobalDefinitions ->
+                                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _argIidentifier
+                                                     {-# LINE 895 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _lhsOidentifier ->
+                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _argIisInModule
+                                                      {-# LINE 900 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _lhsOisInModule ->
+                                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _argImtokenPos
+                                                       {-# LINE 905 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOmtokenPos ->
+                                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _argIscopes
+                                                        {-# LINE 910 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOscopes ->
+                                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIvariableStyle
+                                                         {-# LINE 915 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOvariableStyle ->
+                                                  (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AOr
+            {-# LINE 987 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1009 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1014 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1019 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1024 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1029 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1034 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AAnd
+            {-# LINE 1050 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1072 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1077 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1082 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1087 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1092 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1097 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ALT
+            {-# LINE 1113 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1135 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1140 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1145 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1150 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1155 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1160 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AGT
+            {-# LINE 1176 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1198 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1203 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1208 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1213 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1218 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1223 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ALEQ
+            {-# LINE 1239 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1261 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1266 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1271 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1276 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1281 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1286 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AGEQ
+            {-# LINE 1302 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1324 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1329 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1334 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1339 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1344 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1349 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ANEq
+            {-# LINE 1365 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1387 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1392 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1397 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1402 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1407 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1412 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AEq
+            {-# LINE 1428 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1450 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1455 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1460 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1465 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1470 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1475 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AConcatenate
+            {-# LINE 1491 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1513 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1518 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1523 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1528 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1533 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1538 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            APlus
+            {-# LINE 1554 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1576 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1581 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1586 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1591 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1596 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1601 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            BinMinus
+            {-# LINE 1617 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1639 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1644 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1649 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1654 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1659 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1664 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AMultiply
+            {-# LINE 1680 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1702 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1707 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1712 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1717 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1722 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1727 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ADivide
+            {-# LINE 1743 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1765 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1770 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1775 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1780 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1785 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1790 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AModulus
+            {-# LINE 1806 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1828 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1833 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1838 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1843 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1848 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1853 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            APower
+            {-# LINE 1869 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 1891 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 1896 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 1901 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 1906 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 1911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 1916 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "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 _pos _stats _ret) =
+    (sem_Block_Block _pos (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 :: Region ->
+                   T_MStatList ->
+                   T_AReturn ->
+                   T_Block
+sem_Block_Block pos_ stats_ ret_ =
+    (case (ret_) of
+     { ( _retIcopy,ret_1) ->
+         (case (stats_) of
+          { ( _statsIcopy,stats_1) ->
+              (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      Block pos_ _statsIcopy _retIcopy
+                      {-# LINE 1968 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 1973 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 1991 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _statsOscopes ->
+                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisMeta
+                                              {-# LINE 1996 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _statsOisMeta ->
+                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIconfig
+                                               {-# LINE 2001 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _statsOconfig ->
+                                        (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIvariableStyle
+                                                {-# LINE 2006 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _statsOvariableStyle ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsImtokenPos
+                                                 {-# LINE 2011 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _statsOmtokenPos ->
+                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIloopLevel
+                                                  {-# LINE 2016 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _statsOloopLevel ->
+                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIisInModule
+                                                   {-# LINE 2021 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _statsOisInModule ->
+                                            (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIglobalDefinitions
+                                                    {-# LINE 2026 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _statsOglobalDefinitions ->
+                                             (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIfuncName
+                                                     {-# LINE 2031 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _statsOfuncName ->
+                                              (case (({-# LINE 298 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIscopeLevel + 1
+                                                      {-# LINE 2036 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _statsIscopes
+                                                            {-# LINE 2043 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _retOscopes ->
+                                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIisMeta
+                                                             {-# LINE 2048 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _retOisMeta ->
+                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _statsIisInModule
+                                                              {-# LINE 2053 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _retOisInModule ->
+                                                       (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _statsIglobalDefinitions
+                                                               {-# LINE 2058 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _retOglobalDefinitions ->
+                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIconfig
+                                                                {-# LINE 2063 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _retOconfig ->
+                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _statsIvariableStyle
+                                                                 {-# LINE 2068 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _retOvariableStyle ->
+                                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIscopeLevel
+                                                                  {-# LINE 2073 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _retOscopeLevel ->
+                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _statsImtokenPos
+                                                                   {-# LINE 2078 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _retOmtokenPos ->
+                                                            (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIloopLevel
+                                                                    {-# LINE 2083 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _retOloopLevel ->
+                                                             (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIfuncName
+                                                                     {-# LINE 2088 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _retIglobalDefinitions
+                                                                           {-# LINE 2095 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _lhsOglobalDefinitions ->
+                                                                    (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            (const _statsIidentifier _retIidentifier)
+                                                                            {-# LINE 2100 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _lhsOidentifier ->
+                                                                     (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _statsIisIfStatement
+                                                                             {-# LINE 2105 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOisIfStatement ->
+                                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _retIisInModule
+                                                                              {-# LINE 2110 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOisInModule ->
+                                                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _retImtokenPos
+                                                                               {-# LINE 2115 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOmtokenPos ->
+                                                                        (case (({-# LINE 305 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                if _lhsIisRepeat then _retIscopes else tail _retIscopes
+                                                                                {-# LINE 2120 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOscopes ->
+                                                                         (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _statsIstatementCount + _retIstatementCount
+                                                                                 {-# LINE 2125 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOstatementCount ->
+                                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _retIvariableStyle
+                                                                                  {-# LINE 2130 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOvariableStyle ->
+                                                                           (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _statsIwarnings ++ _retIwarnings
+                                                                                   {-# LINE 2135 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _warnings_augmented_syn ->
+                                                                            (case (({-# LINE 302 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    M.filterWithKey (\k (b, _) -> not (null k) && head k /= '_' && not b) (head _retIscopes)
+                                                                                    {-# LINE 2140 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _deadVars ->
+                                                                             (case (({-# LINE 299 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     lint_maxScopeDepth _lhsIconfig
+                                                                                     {-# LINE 2145 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _maxScopeDepth ->
+                                                                              (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      if _maxScopeDepth     == 0 || _lhsIscopeLevel /= _maxScopeDepth     then id else
+                                                                                        (:) $ warn _statsImtokenPos ScopePyramids
+                                                                                      {-# LINE 2151 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _warnings_augmented_f2 ->
+                                                                               (case (({-# LINE 303 "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 2157 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _warnings_augmented_f1 ->
+                                                                                (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                        {-# LINE 2162 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (_x1Icopy,_x2Icopy)
+                      {-# LINE 2208 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 2213 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisMeta
+                                             {-# LINE 2231 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _x1OisMeta ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 2236 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _x1Oconfig ->
+                                       (case (({-# LINE 268 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               tokenLabel . fromMaybe (error "fromMaybe sem Declaration loc.var") $ _x1IvarName
+                                               {-# LINE 2241 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _var ->
+                                        (case (({-# LINE 276 "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 2251 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _x1Oscopes ->
+                                         (case (({-# LINE 264 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 Nothing
+                                                 {-# LINE 2256 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _x1OvarBeingDefined ->
+                                          (case (({-# LINE 260 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  False
+                                                  {-# LINE 2261 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _x1OregisterVarUse ->
+                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIvariableStyle
+                                                   {-# LINE 2266 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _x1OvariableStyle ->
+                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIscopeLevel
+                                                    {-# LINE 2271 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _x1OscopeLevel ->
+                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsImtokenPos
+                                                     {-# LINE 2276 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _x1OmtokenPos ->
+                                              (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIloopLevel
+                                                      {-# LINE 2281 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _x1OloopLevel ->
+                                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIisInModule
+                                                       {-# LINE 2286 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _x1OisInModule ->
+                                                (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIglobalDefinitions
+                                                        {-# LINE 2291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _x1OglobalDefinitions ->
+                                                 (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIfuncName
+                                                         {-# LINE 2296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _x1OfuncName ->
+                                                  (case (({-# LINE 262 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 2301 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _x1OtopLevel ->
+                                                   (case (({-# LINE 261 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           False
+                                                           {-# LINE 2306 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _x1OinParentheses ->
+                                                    (case (({-# LINE 259 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            False
+                                                            {-# LINE 2311 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _x1Iscopes
+                                                                  {-# LINE 2318 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _x2Oscopes ->
+                                                           (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIisMeta
+                                                                   {-# LINE 2323 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _x2OisMeta ->
+                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _x1IisInModule
+                                                                    {-# LINE 2328 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _x2OisInModule ->
+                                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _x1IglobalDefinitions
+                                                                     {-# LINE 2333 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _x2OglobalDefinitions ->
+                                                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIconfig
+                                                                      {-# LINE 2338 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _x2Oconfig ->
+                                                               (case (({-# LINE 266 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       if _x1IhasSuffixes || not _lhsIlocalDefinition then Nothing else _x1IvarName
+                                                                       {-# LINE 2343 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _x2OvarBeingDefined ->
+                                                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _x1IvariableStyle
+                                                                        {-# LINE 2348 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _x2OvariableStyle ->
+                                                                 (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIscopeLevel
+                                                                         {-# LINE 2353 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _x2OscopeLevel ->
+                                                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _x1ImtokenPos
+                                                                          {-# LINE 2358 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _x2OmtokenPos ->
+                                                                   (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _lhsIloopLevel
+                                                                           {-# LINE 2363 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _x2OloopLevel ->
+                                                                    (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            _lhsIfuncName
+                                                                            {-# LINE 2368 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _x2OfuncName ->
+                                                                     (case (({-# LINE 263 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             False
+                                                                             {-# LINE 2373 "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 283 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _x2IglobalDefinitions
+                                                                                   {-# LINE 2380 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _globalDefinitions_augmented_syn ->
+                                                                            (case (({-# LINE 283 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    if _lhsIisInModule || _lhsIlocalDefinition || isVariableLocal _lhsIscopes _var     || _x1IhasSuffixes then id else
+                                                                                      M.insertWith (++) _var     [_x1ImtokenPos]
+                                                                                    {-# LINE 2386 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _globalDefinitions_augmented_f1 ->
+                                                                             (case (({-# LINE 283 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]
+                                                                                     {-# LINE 2391 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOglobalDefinitions ->
+                                                                              (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      (const _x1Iidentifier _x2Iidentifier)
+                                                                                      {-# LINE 2396 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOidentifier ->
+                                                                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _x2IisInModule
+                                                                                       {-# LINE 2401 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _lhsOisInModule ->
+                                                                                (case (({-# LINE 257 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        _x1ImtokenPos
+                                                                                        {-# LINE 2406 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _lhsOmtokenPos ->
+                                                                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         _x2Iscopes
+                                                                                         {-# LINE 2411 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _lhsOscopes ->
+                                                                                  (case (({-# LINE 269 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          determineVariableStyle _var
+                                                                                          {-# LINE 2416 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _varStyle ->
+                                                                                   (case (({-# LINE 258 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           if _lhsIlocalDefinition then combineDeterminedVarStyle _lhsIvariableStyle _varStyle     else _lhsIvariableStyle
+                                                                                           {-# LINE 2421 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                           )) of
+                                                                                    { _lhsOvariableStyle ->
+                                                                                    (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            _x1Iwarnings ++ _x2Iwarnings
+                                                                                            {-# LINE 2426 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                            )) of
+                                                                                     { _warnings_augmented_syn ->
+                                                                                     (case (({-# LINE 270 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                             do
+                                                                                               var <- _x1IvarName
+                                                                                               if (Just var /= _x2IisSingleVar) then
+                                                                                                   checkShadows _lhsIscopes var
+                                                                                               else Nothing
+                                                                                             {-# LINE 2435 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                             )) of
+                                                                                      { _shadowWarning ->
+                                                                                      (case (({-# LINE 288 "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 2441 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                              )) of
+                                                                                       { _warnings_augmented_f2 ->
+                                                                                       (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                               if not (lint_inconsistentVariableStyle _lhsIconfig) || not _lhsIlocalDefinition || not (variableStyleInconsistent _lhsIvariableStyle _varStyle    ) then id else
+                                                                                                 (:) $ warn _x1ImtokenPos InconsistentVariableNaming
+                                                                                               {-# LINE 2447 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                               )) of
+                                                                                        { _warnings_augmented_f1 ->
+                                                                                        (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                {-# LINE 2452 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 Just _justIcopy
+                 {-# LINE 2496 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 2501 "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 498 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        True
+                                        {-# LINE 2518 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOelseExists ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 2523 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _justOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 2528 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _justOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 2533 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _justOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 2538 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _justOconfig ->
+                                     (case (({-# LINE 497 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             M.empty : _lhsIscopes
+                                             {-# LINE 2543 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _justOscopes ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 2548 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _justOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 2553 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _justOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 2558 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _justOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 2563 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _justOloopLevel ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 2568 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _justIglobalDefinitions
+                                                        {-# LINE 2575 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOglobalDefinitions ->
+                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _justIidentifier
+                                                         {-# LINE 2580 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOidentifier ->
+                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _justIisInModule
+                                                          {-# LINE 2585 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisInModule ->
+                                                   (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _justImtokenPos
+                                                           {-# LINE 2590 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOmtokenPos ->
+                                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _justIscopes
+                                                            {-# LINE 2595 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOscopes ->
+                                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _justIvariableStyle
+                                                             {-# LINE 2600 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOvariableStyle ->
+                                                      (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _justIwarnings
+                                                              {-# LINE 2605 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _warnings_augmented_syn ->
+                                                       (case (({-# LINE 499 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               Region (rgStart _justImtokenPos) (rgEnd _lhsImtokenPos)
+                                                               {-# LINE 2610 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _elsePos ->
+                                                        (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                if not (lint_emptyBlocks _lhsIconfig) || _justIstatementCount > 0 then id else
+                                                                  (:) $ warn _elsePos     EmptyElse
+                                                                {-# LINE 2616 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _warnings_augmented_f1 ->
+                                                         (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                 {-# LINE 2621 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Nothing
+            {-# LINE 2632 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 2637 "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 203 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   False
+                                   {-# LINE 2654 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOelseExists ->
+                            (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    _lhsIglobalDefinitions
+                                    {-# LINE 2659 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOglobalDefinitions ->
+                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     unknownIdentifier
+                                     {-# LINE 2664 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOidentifier ->
+                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsIisInModule
+                                      {-# LINE 2669 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisInModule ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 2674 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 2679 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 2684 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 2689 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (_x1Icopy,_x2Icopy)
+                      {-# LINE 2734 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 2739 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisMeta
+                                             {-# LINE 2756 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _x2OisMeta ->
+                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisInModule
+                                              {-# LINE 2761 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _x1OisInModule ->
+                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIvariableStyle
+                                               {-# LINE 2766 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _x1OvariableStyle ->
+                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopes
+                                                {-# LINE 2771 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _x1Oscopes ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 2776 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _x1OscopeLevel ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsImtokenPos
+                                                  {-# LINE 2781 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _x1OmtokenPos ->
+                                           (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIloopLevel
+                                                   {-# LINE 2786 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _x1OloopLevel ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisMeta
+                                                    {-# LINE 2791 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _x1OisMeta ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 2796 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _x1OglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 2801 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _x1OfuncName ->
+                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIconfig
+                                                       {-# LINE 2806 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _x1Oconfig ->
+                                                (case (({-# LINE 484 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        Nothing
+                                                        {-# LINE 2811 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _x1OvarBeingDefined ->
+                                                 (case (({-# LINE 483 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         True
+                                                         {-# LINE 2816 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _x1OtopLevel ->
+                                                  (case (({-# LINE 482 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 2821 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _x1OinParentheses ->
+                                                   (case (({-# LINE 481 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           False
+                                                           {-# LINE 2826 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _x1IisInModule
+                                                                 {-# LINE 2833 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _x2OisInModule ->
+                                                          (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _x1IglobalDefinitions
+                                                                  {-# LINE 2838 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _x2OglobalDefinitions ->
+                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIconfig
+                                                                   {-# LINE 2843 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _x2Oconfig ->
+                                                            (case (({-# LINE 485 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    M.empty : _x1Iscopes
+                                                                    {-# LINE 2848 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _x2Oscopes ->
+                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _x1IvariableStyle
+                                                                     {-# LINE 2853 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _x2OvariableStyle ->
+                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIscopeLevel
+                                                                      {-# LINE 2858 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _x2OscopeLevel ->
+                                                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _x1ImtokenPos
+                                                                       {-# LINE 2863 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _x2OmtokenPos ->
+                                                                (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _lhsIloopLevel
+                                                                        {-# LINE 2868 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _x2OloopLevel ->
+                                                                 (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIfuncName
+                                                                         {-# LINE 2873 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _x2OfuncName ->
+                                                                  (case (({-# LINE 486 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          False
+                                                                          {-# LINE 2878 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _x2IglobalDefinitions
+                                                                                {-# LINE 2885 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOglobalDefinitions ->
+                                                                         (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 (const _x1Iidentifier _x2Iidentifier)
+                                                                                 {-# LINE 2890 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOidentifier ->
+                                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _x2IisInModule
+                                                                                  {-# LINE 2895 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisInModule ->
+                                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _x2ImtokenPos
+                                                                                   {-# LINE 2900 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOmtokenPos ->
+                                                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _x2Iscopes
+                                                                                    {-# LINE 2905 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOscopes ->
+                                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _x2IvariableStyle
+                                                                                     {-# LINE 2910 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOvariableStyle ->
+                                                                              (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _x1Iwarnings ++ _x2Iwarnings
+                                                                                      {-# LINE 2915 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _warnings_augmented_syn ->
+                                                                               (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       if not (lint_emptyBlocks _lhsIconfig) || _x2IstatementCount > 0 then id else
+                                                                                         (:) $ warn _lhsImtokenPos EmptyElseIf
+                                                                                       {-# LINE 2921 "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 2926 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (:) _hdIcopy _tlIcopy
+                      {-# LINE 2971 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 2976 "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 468 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             True
+                                             {-# LINE 2993 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _lhsOelseExists ->
+                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopes
+                                              {-# LINE 2998 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _hdOscopes ->
+                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIisMeta
+                                               {-# LINE 3003 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _hdOisMeta ->
+                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIconfig
+                                                {-# LINE 3008 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _hdOconfig ->
+                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIvariableStyle
+                                                 {-# LINE 3013 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _hdOvariableStyle ->
+                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIscopeLevel
+                                                  {-# LINE 3018 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _hdOscopeLevel ->
+                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsImtokenPos
+                                                   {-# LINE 3023 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _hdOmtokenPos ->
+                                            (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIloopLevel
+                                                    {-# LINE 3028 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _hdOloopLevel ->
+                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIisInModule
+                                                     {-# LINE 3033 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _hdOisInModule ->
+                                              (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIglobalDefinitions
+                                                      {-# LINE 3038 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _hdOglobalDefinitions ->
+                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIfuncName
+                                                       {-# LINE 3043 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _hdIscopes
+                                                             {-# LINE 3050 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _tlOscopes ->
+                                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _lhsIisMeta
+                                                              {-# LINE 3055 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _tlOisMeta ->
+                                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _hdIisInModule
+                                                               {-# LINE 3060 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _tlOisInModule ->
+                                                        (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _hdIglobalDefinitions
+                                                                {-# LINE 3065 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _tlOglobalDefinitions ->
+                                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIconfig
+                                                                 {-# LINE 3070 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _tlOconfig ->
+                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _hdIvariableStyle
+                                                                  {-# LINE 3075 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _tlOvariableStyle ->
+                                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIscopeLevel
+                                                                   {-# LINE 3080 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _tlOscopeLevel ->
+                                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _hdImtokenPos
+                                                                    {-# LINE 3085 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _tlOmtokenPos ->
+                                                             (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIloopLevel
+                                                                     {-# LINE 3090 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _tlOloopLevel ->
+                                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIfuncName
+                                                                      {-# LINE 3095 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            _tlIglobalDefinitions
+                                                                            {-# LINE 3102 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _lhsOglobalDefinitions ->
+                                                                     (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             (const _hdIidentifier _tlIidentifier)
+                                                                             {-# LINE 3107 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOidentifier ->
+                                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _tlIisInModule
+                                                                              {-# LINE 3112 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOisInModule ->
+                                                                       (case (({-# LINE 469 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               Region
+                                                                                   (rgStart _hdImtokenPos)
+                                                                                   (rgEnd $ if _tlIelseExists then _tlImtokenPos else _hdImtokenPos)
+                                                                               {-# LINE 3119 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOmtokenPos ->
+                                                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _tlIscopes
+                                                                                {-# LINE 3124 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOscopes ->
+                                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _tlIvariableStyle
+                                                                                 {-# LINE 3129 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOvariableStyle ->
+                                                                          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _hdIwarnings ++ _tlIwarnings
+                                                                                  {-# LINE 3134 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            []
+            {-# LINE 3145 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 3150 "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 203 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   False
+                                   {-# LINE 3167 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOelseExists ->
+                            (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    _lhsIglobalDefinitions
+                                    {-# LINE 3172 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOglobalDefinitions ->
+                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     unknownIdentifier
+                                     {-# LINE 3177 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOidentifier ->
+                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsIisInModule
+                                      {-# LINE 3182 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisInModule ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 3187 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 3192 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 3197 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 3202 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ANil
+            {-# LINE 3265 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 3270 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 3291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 3296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 3301 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      True
+                                      {-# LINE 3306 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSimpleExpression ->
+                               (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       Nothing
+                                       {-# LINE 3311 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOisSingleVar ->
+                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsImtokenPos
+                                        {-# LINE 3316 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOmtokenPos ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3321 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOscopes ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 3326 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 3331 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AFalse
+            {-# LINE 3342 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 3347 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 3368 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 3373 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 3378 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      True
+                                      {-# LINE 3383 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSimpleExpression ->
+                               (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       Nothing
+                                       {-# LINE 3388 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOisSingleVar ->
+                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsImtokenPos
+                                        {-# LINE 3393 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOmtokenPos ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3398 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOscopes ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 3403 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 3408 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ATrue
+            {-# LINE 3419 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 3424 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 3445 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 3450 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 3455 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      True
+                                      {-# LINE 3460 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSimpleExpression ->
+                               (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       Nothing
+                                       {-# LINE 3465 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOisSingleVar ->
+                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsImtokenPos
+                                        {-# LINE 3470 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOmtokenPos ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3475 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOscopes ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 3480 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 3485 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ANumber num_
+            {-# LINE 3497 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 3502 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 3523 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 3528 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 3533 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      True
+                                      {-# LINE 3538 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSimpleExpression ->
+                               (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       Nothing
+                                       {-# LINE 3543 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOisSingleVar ->
+                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsImtokenPos
+                                        {-# LINE 3548 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOmtokenPos ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3553 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOscopes ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 3558 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 3563 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 AString _strIcopy
+                 {-# LINE 3577 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 3582 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIglobalDefinitions
+                                        {-# LINE 3603 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _strOglobalDefinitions ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3608 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _strOscopes ->
+                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsImtokenPos
+                                          {-# LINE 3613 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _strOmtokenPos ->
+                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta
+                                           {-# LINE 3618 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _strOisMeta ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 3623 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _strOisInModule ->
+                                     (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfuncName
+                                             {-# LINE 3628 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _strOfuncName ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 3633 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _strIglobalDefinitions
+                                                    {-# LINE 3640 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _lhsOglobalDefinitions ->
+                                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _strIidentifier
+                                                     {-# LINE 3645 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _lhsOidentifier ->
+                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _strIisInModule
+                                                      {-# LINE 3650 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _lhsOisInModule ->
+                                               (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       True
+                                                       {-# LINE 3655 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOisSimpleExpression ->
+                                                (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        Nothing
+                                                        {-# LINE 3660 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOisSingleVar ->
+                                                 (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _strImtokenPos
+                                                         {-# LINE 3665 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOmtokenPos ->
+                                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _strIscopes
+                                                          {-# LINE 3670 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOscopes ->
+                                                   (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lhsIvariableStyle
+                                                           {-# LINE 3675 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOvariableStyle ->
+                                                    (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _strIwarnings
+                                                            {-# LINE 3680 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AVarArg
+            {-# LINE 3691 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 3696 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 3717 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 3722 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 3727 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 580 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      False
+                                      {-# LINE 3732 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSimpleExpression ->
+                               (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       Nothing
+                                       {-# LINE 3737 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOisSingleVar ->
+                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsImtokenPos
+                                        {-# LINE 3742 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOmtokenPos ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3747 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOscopes ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 3752 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 3757 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 AnonymousFunc pars_ _bodyIcopy
+                 {-# LINE 3772 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 3777 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIisInModule
+                                        {-# LINE 3798 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _bodyOisInModule ->
+                                 (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIglobalDefinitions
+                                         {-# LINE 3803 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _bodyOglobalDefinitions ->
+                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIconfig
+                                          {-# LINE 3808 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _bodyOconfig ->
+                                   (case (({-# LINE 585 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta || findSelf pars_
+                                           {-# LINE 3813 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _bodyOisMeta ->
+                                    (case (({-# LINE 582 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            M.fromList $ map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) pars_
+                                            {-# LINE 3818 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _introduces ->
+                                     (case (({-# LINE 583 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _introduces     : _lhsIscopes
+                                             {-# LINE 3823 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _bodyOscopes ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 3828 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _bodyOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 3833 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _bodyOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 3838 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _bodyOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 3843 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _bodyOloopLevel ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 3848 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _bodyOfuncName ->
+                                           (case (({-# LINE 584 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   False
+                                                   {-# LINE 3853 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _bodyIglobalDefinitions
+                                                         {-# LINE 3860 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOglobalDefinitions ->
+                                                  (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _bodyIidentifier
+                                                          {-# LINE 3865 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOidentifier ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _bodyIisInModule
+                                                           {-# LINE 3870 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            True
+                                                            {-# LINE 3875 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOisSimpleExpression ->
+                                                     (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             Nothing
+                                                             {-# LINE 3880 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOisSingleVar ->
+                                                      (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _bodyImtokenPos
+                                                              {-# LINE 3885 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOmtokenPos ->
+                                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _bodyIscopes
+                                                               {-# LINE 3890 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOscopes ->
+                                                        (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _bodyIvariableStyle
+                                                                {-# LINE 3895 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _lhsOvariableStyle ->
+                                                         (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _bodyIwarnings
+                                                                 {-# LINE 3900 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _warnings_augmented_syn ->
+                                                          (case (({-# LINE 586 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  filter (/= MToken emptyRg VarArg) $ pars_
+                                                                  {-# LINE 3905 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _argIdentifiers ->
+                                                           (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   if not (lint_shadowing _lhsIconfig) then id else
+                                                                     (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
+                                                                   {-# LINE 3911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _warnings_augmented_f1 ->
+                                                            (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                    {-# LINE 3916 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 APrefixExpr _pexprIcopy
+                 {-# LINE 3930 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 3935 "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 179 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvarBeingDefined
+                                        {-# LINE 3956 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _pexprOvarBeingDefined ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 3961 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _pexprOscopes ->
+                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisMeta
+                                          {-# LINE 3966 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _pexprOisMeta ->
+                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisInModule
+                                           {-# LINE 3971 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _pexprOisInModule ->
+                                    (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIglobalDefinitions
+                                            {-# LINE 3976 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _pexprOglobalDefinitions ->
+                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIconfig
+                                             {-# LINE 3981 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _pexprOconfig ->
+                                      (case (({-# LINE 591 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              True
+                                              {-# LINE 3986 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _pexprOregisterVarUse ->
+                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIvariableStyle
+                                               {-# LINE 3991 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _pexprOvariableStyle ->
+                                        (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsItopLevel
+                                                {-# LINE 3996 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _pexprOtopLevel ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 4001 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _pexprOscopeLevel ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsImtokenPos
+                                                  {-# LINE 4006 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _pexprOmtokenPos ->
+                                           (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIloopLevel
+                                                   {-# LINE 4011 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _pexprOloopLevel ->
+                                            (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisNegation
+                                                    {-# LINE 4016 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _pexprOisNegation ->
+                                             (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIinParentheses
+                                                     {-# LINE 4021 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _pexprOinParentheses ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 4026 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _pexprIglobalDefinitions
+                                                            {-# LINE 4033 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOglobalDefinitions ->
+                                                     (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _pexprIidentifier
+                                                             {-# LINE 4038 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOidentifier ->
+                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _pexprIisInModule
+                                                              {-# LINE 4043 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOisInModule ->
+                                                       (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _pexprIisSimpleExpression
+                                                               {-# LINE 4048 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOisSimpleExpression ->
+                                                        (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _pexprIisSingleVar
+                                                                {-# LINE 4053 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _lhsOisSingleVar ->
+                                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _pexprImtokenPos
+                                                                 {-# LINE 4058 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _lhsOmtokenPos ->
+                                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _pexprIscopes
+                                                                  {-# LINE 4063 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _lhsOscopes ->
+                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _pexprIvariableStyle
+                                                                   {-# LINE 4068 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _lhsOvariableStyle ->
+                                                            (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _pexprIwarnings
+                                                                    {-# LINE 4073 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 ATableConstructor _fieldsIcopy
+                 {-# LINE 4087 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 4092 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 4113 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _fieldsOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 4118 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _fieldsOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 4123 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _fieldsOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 4128 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _fieldsOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 4133 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _fieldsOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 4138 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _fieldsOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 4143 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _fieldsOscopeLevel ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsImtokenPos
+                                               {-# LINE 4148 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _fieldsOmtokenPos ->
+                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIloopLevel
+                                                {-# LINE 4153 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _fieldsOloopLevel ->
+                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIfuncName
+                                                 {-# LINE 4158 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _fieldsOfuncName ->
+                                          (case (({-# LINE 593 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  S.empty
+                                                  {-# LINE 4163 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _fieldsIglobalDefinitions
+                                                        {-# LINE 4170 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOglobalDefinitions ->
+                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _fieldsIidentifier
+                                                         {-# LINE 4175 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOidentifier ->
+                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _fieldsIisInModule
+                                                          {-# LINE 4180 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisInModule ->
+                                                   (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           True
+                                                           {-# LINE 4185 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisSimpleExpression ->
+                                                    (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            Nothing
+                                                            {-# LINE 4190 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOisSingleVar ->
+                                                     (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _fieldsImtokenPos
+                                                             {-# LINE 4195 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOmtokenPos ->
+                                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _fieldsIscopes
+                                                              {-# LINE 4200 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOscopes ->
+                                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _fieldsIvariableStyle
+                                                               {-# LINE 4205 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOvariableStyle ->
+                                                        (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _fieldsIwarnings
+                                                                {-# LINE 4210 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                           BinOpExpr _opIcopy _leftIcopy _rightIcopy
+                           {-# LINE 4230 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                           )) of
+                    { _copy ->
+                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                            _copy
+                            {-# LINE 4235 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIscopes
+                                                  {-# LINE 4256 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _opOscopes ->
+                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIvariableStyle
+                                                   {-# LINE 4261 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _opOvariableStyle ->
+                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIscopeLevel
+                                                    {-# LINE 4266 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _opOscopeLevel ->
+                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsImtokenPos
+                                                     {-# LINE 4271 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _opOmtokenPos ->
+                                              (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIloopLevel
+                                                      {-# LINE 4276 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _opOloopLevel ->
+                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIisMeta
+                                                       {-# LINE 4281 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _opOisMeta ->
+                                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIisInModule
+                                                        {-# LINE 4286 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _opOisInModule ->
+                                                 (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIglobalDefinitions
+                                                         {-# LINE 4291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _opOglobalDefinitions ->
+                                                  (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIfuncName
+                                                          {-# LINE 4296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _opOfuncName ->
+                                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lhsIconfig
+                                                           {-# LINE 4301 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _opIscopes
+                                                                 {-# LINE 4308 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _leftOscopes ->
+                                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIisMeta
+                                                                  {-# LINE 4313 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _leftOisMeta ->
+                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIconfig
+                                                                   {-# LINE 4318 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _leftOconfig ->
+                                                            (case (({-# LINE 599 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    Nothing
+                                                                    {-# LINE 4323 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _leftOvarBeingDefined ->
+                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _opIvariableStyle
+                                                                     {-# LINE 4328 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _leftOvariableStyle ->
+                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIscopeLevel
+                                                                      {-# LINE 4333 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _leftOscopeLevel ->
+                                                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _opImtokenPos
+                                                                       {-# LINE 4338 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _leftOmtokenPos ->
+                                                                (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _lhsIloopLevel
+                                                                        {-# LINE 4343 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _leftOloopLevel ->
+                                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _opIisInModule
+                                                                         {-# LINE 4348 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _leftOisInModule ->
+                                                                  (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _opIglobalDefinitions
+                                                                          {-# LINE 4353 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _leftOglobalDefinitions ->
+                                                                   (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _lhsIfuncName
+                                                                           {-# LINE 4358 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _leftOfuncName ->
+                                                                    (case (({-# LINE 598 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            False
+                                                                            {-# LINE 4363 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _leftOtopLevel ->
+                                                                     (case (({-# LINE 597 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             False
+                                                                             {-# LINE 4368 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _leftOinParentheses ->
+                                                                      (case (({-# LINE 596 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              False
+                                                                              {-# LINE 4373 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _leftIscopes
+                                                                                    {-# LINE 4380 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _rightOscopes ->
+                                                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _lhsIisMeta
+                                                                                     {-# LINE 4385 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _rightOisMeta ->
+                                                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _leftIisInModule
+                                                                                      {-# LINE 4390 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _rightOisInModule ->
+                                                                               (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _leftIglobalDefinitions
+                                                                                       {-# LINE 4395 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _rightOglobalDefinitions ->
+                                                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        _lhsIconfig
+                                                                                        {-# LINE 4400 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _rightOconfig ->
+                                                                                 (case (({-# LINE 603 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         Nothing
+                                                                                         {-# LINE 4405 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _rightOvarBeingDefined ->
+                                                                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          _leftIvariableStyle
+                                                                                          {-# LINE 4410 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _rightOvariableStyle ->
+                                                                                   (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           _lhsIscopeLevel
+                                                                                           {-# LINE 4415 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                           )) of
+                                                                                    { _rightOscopeLevel ->
+                                                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            _leftImtokenPos
+                                                                                            {-# LINE 4420 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                            )) of
+                                                                                     { _rightOmtokenPos ->
+                                                                                     (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                             _lhsIloopLevel
+                                                                                             {-# LINE 4425 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                             )) of
+                                                                                      { _rightOloopLevel ->
+                                                                                      (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                              _lhsIfuncName
+                                                                                              {-# LINE 4430 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                              )) of
+                                                                                       { _rightOfuncName ->
+                                                                                       (case (({-# LINE 602 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                               False
+                                                                                               {-# LINE 4435 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                               )) of
+                                                                                        { _rightOtopLevel ->
+                                                                                        (case (({-# LINE 601 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                False
+                                                                                                {-# LINE 4440 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                )) of
+                                                                                         { _rightOinParentheses ->
+                                                                                         (case (({-# LINE 600 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                 False
+                                                                                                 {-# LINE 4445 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                       _rightIglobalDefinitions
+                                                                                                       {-# LINE 4452 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                       )) of
+                                                                                                { _lhsOglobalDefinitions ->
+                                                                                                (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                        (const _opIidentifier (const _leftIidentifier _rightIidentifier))
+                                                                                                        {-# LINE 4457 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                        )) of
+                                                                                                 { _lhsOidentifier ->
+                                                                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                         _rightIisInModule
+                                                                                                         {-# LINE 4462 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                         )) of
+                                                                                                  { _lhsOisInModule ->
+                                                                                                  (case (({-# LINE 595 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                          False
+                                                                                                          {-# LINE 4467 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                          )) of
+                                                                                                   { _lhsOisSimpleExpression ->
+                                                                                                   (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                           (const (const Nothing) _leftIisSingleVar _rightIisSingleVar)
+                                                                                                           {-# LINE 4472 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                           )) of
+                                                                                                    { _lhsOisSingleVar ->
+                                                                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                            _rightImtokenPos
+                                                                                                            {-# LINE 4477 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                            )) of
+                                                                                                     { _lhsOmtokenPos ->
+                                                                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                             _rightIscopes
+                                                                                                             {-# LINE 4482 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                             )) of
+                                                                                                      { _lhsOscopes ->
+                                                                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                              _rightIvariableStyle
+                                                                                                              {-# LINE 4487 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                              )) of
+                                                                                                       { _lhsOvariableStyle ->
+                                                                                                       (case (({-# LINE 607 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                               _opIwarnings ++ _leftIwarnings ++ _rightIwarnings
+                                                                                                               {-# LINE 4492 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                               )) of
+                                                                                                        { _warnings_augmented_syn ->
+                                                                                                        (case (({-# LINE 606 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                oppositeBinOp _opIcopy
+                                                                                                                {-# LINE 4497 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                )) of
+                                                                                                         { _stupidNegation ->
+                                                                                                         (case (({-# LINE 607 "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 4503 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                 )) of
+                                                                                                          { _warnings_augmented_f1 ->
+                                                                                                          (case (({-# LINE 607 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                  foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                                  {-# LINE 4508 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      UnOpExpr _opIcopy _rightIcopy
+                      {-# LINE 4525 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 4530 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 4551 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _opOscopes ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 4556 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _opOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 4561 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _opOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 4566 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _opOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 4571 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _opOloopLevel ->
+                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIisMeta
+                                                  {-# LINE 4576 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _opOisMeta ->
+                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIisInModule
+                                                   {-# LINE 4581 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _opOisInModule ->
+                                            (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIglobalDefinitions
+                                                    {-# LINE 4586 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _opOglobalDefinitions ->
+                                             (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIfuncName
+                                                     {-# LINE 4591 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _opOfuncName ->
+                                              (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIconfig
+                                                      {-# LINE 4596 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _opIscopes
+                                                            {-# LINE 4603 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _rightOscopes ->
+                                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIisMeta
+                                                             {-# LINE 4608 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _rightOisMeta ->
+                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _opIisInModule
+                                                              {-# LINE 4613 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _rightOisInModule ->
+                                                       (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _opIglobalDefinitions
+                                                               {-# LINE 4618 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _rightOglobalDefinitions ->
+                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIconfig
+                                                                {-# LINE 4623 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _rightOconfig ->
+                                                         (case (({-# LINE 614 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 Nothing
+                                                                 {-# LINE 4628 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _rightOvarBeingDefined ->
+                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _opIvariableStyle
+                                                                  {-# LINE 4633 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _rightOvariableStyle ->
+                                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIscopeLevel
+                                                                   {-# LINE 4638 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _rightOscopeLevel ->
+                                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _opImtokenPos
+                                                                    {-# LINE 4643 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _rightOmtokenPos ->
+                                                             (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIloopLevel
+                                                                     {-# LINE 4648 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _rightOloopLevel ->
+                                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIfuncName
+                                                                      {-# LINE 4653 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _rightOfuncName ->
+                                                               (case (({-# LINE 613 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       False
+                                                                       {-# LINE 4658 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _rightOtopLevel ->
+                                                                (case (({-# LINE 612 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        False
+                                                                        {-# LINE 4663 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _rightOinParentheses ->
+                                                                 (case (({-# LINE 611 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _opIisNegation
+                                                                         {-# LINE 4668 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _rightIglobalDefinitions
+                                                                               {-# LINE 4675 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOglobalDefinitions ->
+                                                                        (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                (const _opIidentifier _rightIidentifier)
+                                                                                {-# LINE 4680 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOidentifier ->
+                                                                         (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _rightIisInModule
+                                                                                 {-# LINE 4685 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOisInModule ->
+                                                                          (case (({-# LINE 610 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  False
+                                                                                  {-# LINE 4690 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisSimpleExpression ->
+                                                                           (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _rightIisSingleVar
+                                                                                   {-# LINE 4695 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOisSingleVar ->
+                                                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _rightImtokenPos
+                                                                                    {-# LINE 4700 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOmtokenPos ->
+                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _rightIscopes
+                                                                                     {-# LINE 4705 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOscopes ->
+                                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _rightIvariableStyle
+                                                                                      {-# LINE 4710 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOvariableStyle ->
+                                                                               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _opIwarnings ++ _rightIwarnings
+                                                                                       {-# LINE 4715 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (:) _hdIcopy _tlIcopy
+                      {-# LINE 4760 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 4765 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 4782 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _hdOscopes ->
+                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisMeta
+                                              {-# LINE 4787 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _hdOisMeta ->
+                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIconfig
+                                               {-# LINE 4792 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _hdOconfig ->
+                                        (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIvariableStyle
+                                                {-# LINE 4797 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _hdOvariableStyle ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 4802 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _hdOscopeLevel ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsImtokenPos
+                                                  {-# LINE 4807 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _hdOmtokenPos ->
+                                           (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIloopLevel
+                                                   {-# LINE 4812 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _hdOloopLevel ->
+                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisInModule
+                                                    {-# LINE 4817 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _hdOisInModule ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 4822 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _hdOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 4827 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _hdIscopes
+                                                            {-# LINE 4834 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _tlOscopes ->
+                                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIisMeta
+                                                             {-# LINE 4839 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _tlOisMeta ->
+                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _hdIisInModule
+                                                              {-# LINE 4844 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _tlOisInModule ->
+                                                       (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _hdIglobalDefinitions
+                                                               {-# LINE 4849 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _tlOglobalDefinitions ->
+                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIconfig
+                                                                {-# LINE 4854 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _tlOconfig ->
+                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _hdIvariableStyle
+                                                                 {-# LINE 4859 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _tlOvariableStyle ->
+                                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIscopeLevel
+                                                                  {-# LINE 4864 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _tlOscopeLevel ->
+                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _hdImtokenPos
+                                                                   {-# LINE 4869 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _tlOmtokenPos ->
+                                                            (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIloopLevel
+                                                                    {-# LINE 4874 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _tlOloopLevel ->
+                                                             (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIfuncName
+                                                                     {-# LINE 4879 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _tlIglobalDefinitions
+                                                                           {-# LINE 4886 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _lhsOglobalDefinitions ->
+                                                                    (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            (const _hdIidentifier _tlIidentifier)
+                                                                            {-# LINE 4891 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _lhsOidentifier ->
+                                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _tlIisInModule
+                                                                             {-# LINE 4896 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOisInModule ->
+                                                                      (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _hdIisSimpleExpression && _tlIisSimpleExpression
+                                                                              {-# LINE 4901 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOisSimpleExpression ->
+                                                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _tlImtokenPos
+                                                                               {-# LINE 4906 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOmtokenPos ->
+                                                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _tlIscopes
+                                                                                {-# LINE 4911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOscopes ->
+                                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _tlIvariableStyle
+                                                                                 {-# LINE 4916 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOvariableStyle ->
+                                                                          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _hdIwarnings ++ _tlIwarnings
+                                                                                  {-# LINE 4921 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            []
+            {-# LINE 4932 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 4937 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 4954 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 4959 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 4964 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      True
+                                      {-# LINE 4969 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSimpleExpression ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 4974 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 4979 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 4984 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 4989 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                           ExprField _keyIcopy _valueIcopy _sepIcopy
+                           {-# LINE 5042 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                           )) of
+                    { _copy ->
+                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                            _copy
+                            {-# LINE 5047 "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 164 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfieldNames
+                                                  {-# LINE 5065 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _lhsOfieldNames ->
+                                           (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIscopes
+                                                   {-# LINE 5070 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _keyOscopes ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisMeta
+                                                    {-# LINE 5075 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _keyOisMeta ->
+                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIconfig
+                                                     {-# LINE 5080 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _keyOconfig ->
+                                              (case (({-# LINE 630 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      Nothing
+                                                      {-# LINE 5085 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _keyOvarBeingDefined ->
+                                               (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIvariableStyle
+                                                       {-# LINE 5090 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _keyOvariableStyle ->
+                                                (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIscopeLevel
+                                                        {-# LINE 5095 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _keyOscopeLevel ->
+                                                 (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsImtokenPos
+                                                         {-# LINE 5100 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _keyOmtokenPos ->
+                                                  (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIloopLevel
+                                                          {-# LINE 5105 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _keyOloopLevel ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lhsIisInModule
+                                                           {-# LINE 5110 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _keyOisInModule ->
+                                                    (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _lhsIglobalDefinitions
+                                                            {-# LINE 5115 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _keyOglobalDefinitions ->
+                                                     (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIfuncName
+                                                             {-# LINE 5120 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _keyOfuncName ->
+                                                      (case (({-# LINE 629 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              True
+                                                              {-# LINE 5125 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _keyOtopLevel ->
+                                                       (case (({-# LINE 628 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               True
+                                                               {-# LINE 5130 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _keyOinParentheses ->
+                                                        (case (({-# LINE 627 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                False
+                                                                {-# LINE 5135 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _keyIscopes
+                                                                      {-# LINE 5142 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _valueOscopes ->
+                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIisMeta
+                                                                       {-# LINE 5147 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _valueOisMeta ->
+                                                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _keyIisInModule
+                                                                        {-# LINE 5152 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _valueOisInModule ->
+                                                                 (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _keyIglobalDefinitions
+                                                                         {-# LINE 5157 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _valueOglobalDefinitions ->
+                                                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _lhsIconfig
+                                                                          {-# LINE 5162 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _valueOconfig ->
+                                                                   (case (({-# LINE 634 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           Nothing
+                                                                           {-# LINE 5167 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _valueOvarBeingDefined ->
+                                                                    (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            _keyIvariableStyle
+                                                                            {-# LINE 5172 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _valueOvariableStyle ->
+                                                                     (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _lhsIscopeLevel
+                                                                             {-# LINE 5177 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _valueOscopeLevel ->
+                                                                      (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _keyImtokenPos
+                                                                              {-# LINE 5182 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _valueOmtokenPos ->
+                                                                       (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _lhsIloopLevel
+                                                                               {-# LINE 5187 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _valueOloopLevel ->
+                                                                        (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _lhsIfuncName
+                                                                                {-# LINE 5192 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _valueOfuncName ->
+                                                                         (case (({-# LINE 633 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 True
+                                                                                 {-# LINE 5197 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _valueOtopLevel ->
+                                                                          (case (({-# LINE 632 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  True
+                                                                                  {-# LINE 5202 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _valueOinParentheses ->
+                                                                           (case (({-# LINE 631 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   False
+                                                                                   {-# LINE 5207 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         _valueIglobalDefinitions
+                                                                                         {-# LINE 5214 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _sepOglobalDefinitions ->
+                                                                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          _valueIvariableStyle
+                                                                                          {-# LINE 5219 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _sepOvariableStyle ->
+                                                                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           _valueIscopes
+                                                                                           {-# LINE 5224 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                           )) of
+                                                                                    { _sepOscopes ->
+                                                                                    (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            _lhsIscopeLevel
+                                                                                            {-# LINE 5229 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                            )) of
+                                                                                     { _sepOscopeLevel ->
+                                                                                     (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                             _valueImtokenPos
+                                                                                             {-# LINE 5234 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                             )) of
+                                                                                      { _sepOmtokenPos ->
+                                                                                      (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                              _lhsIloopLevel
+                                                                                              {-# LINE 5239 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                              )) of
+                                                                                       { _sepOloopLevel ->
+                                                                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                               _lhsIisMeta
+                                                                                               {-# LINE 5244 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                               )) of
+                                                                                        { _sepOisMeta ->
+                                                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                _valueIisInModule
+                                                                                                {-# LINE 5249 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                )) of
+                                                                                         { _sepOisInModule ->
+                                                                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                 _lhsIfuncName
+                                                                                                 {-# LINE 5254 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                 )) of
+                                                                                          { _sepOfuncName ->
+                                                                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                  _lhsIconfig
+                                                                                                  {-# LINE 5259 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                        _sepIglobalDefinitions
+                                                                                                        {-# LINE 5266 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                        )) of
+                                                                                                 { _lhsOglobalDefinitions ->
+                                                                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                         (const _keyIidentifier (const _valueIidentifier _sepIidentifier))
+                                                                                                         {-# LINE 5271 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                         )) of
+                                                                                                  { _lhsOidentifier ->
+                                                                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                          _sepIisInModule
+                                                                                                          {-# LINE 5276 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                          )) of
+                                                                                                   { _lhsOisInModule ->
+                                                                                                   (case (({-# LINE 626 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                           _keyImtokenPos
+                                                                                                           {-# LINE 5281 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                           )) of
+                                                                                                    { _lhsOmtokenPos ->
+                                                                                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                            _sepIscopes
+                                                                                                            {-# LINE 5286 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                            )) of
+                                                                                                     { _lhsOscopes ->
+                                                                                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                             _sepIvariableStyle
+                                                                                                             {-# LINE 5291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                             )) of
+                                                                                                      { _lhsOvariableStyle ->
+                                                                                                      (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                              _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings
+                                                                                                              {-# LINE 5296 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                           NamedField _keyIcopy _valueIcopy _sepIcopy
+                           {-# LINE 5316 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                           )) of
+                    { _copy ->
+                    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                            _copy
+                            {-# LINE 5321 "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 637 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  S.insert _keyImtok _lhsIfieldNames
+                                                  {-# LINE 5339 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _lhsOfieldNames ->
+                                           (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIscopes
+                                                   {-# LINE 5344 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _keyOscopes ->
+                                            (case (({-# LINE 636 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _keyImtokenPos
+                                                    {-# LINE 5349 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _mtokenPos ->
+                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _mtokenPos
+                                                     {-# LINE 5354 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _keyOmtokenPos ->
+                                              (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIisMeta
+                                                      {-# LINE 5359 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _keyOisMeta ->
+                                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIisInModule
+                                                       {-# LINE 5364 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _keyOisInModule ->
+                                                (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIglobalDefinitions
+                                                        {-# LINE 5369 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _keyOglobalDefinitions ->
+                                                 (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIfuncName
+                                                         {-# LINE 5374 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _keyOfuncName ->
+                                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIconfig
+                                                          {-# LINE 5379 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _keyIscopes
+                                                                {-# LINE 5386 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _valueOscopes ->
+                                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIisMeta
+                                                                 {-# LINE 5391 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _valueOisMeta ->
+                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _keyIisInModule
+                                                                  {-# LINE 5396 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _valueOisInModule ->
+                                                           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _keyIglobalDefinitions
+                                                                   {-# LINE 5401 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _valueOglobalDefinitions ->
+                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIconfig
+                                                                    {-# LINE 5406 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _valueOconfig ->
+                                                             (case (({-# LINE 638 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     Nothing
+                                                                     {-# LINE 5411 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _valueOvarBeingDefined ->
+                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIvariableStyle
+                                                                      {-# LINE 5416 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _valueOvariableStyle ->
+                                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIscopeLevel
+                                                                       {-# LINE 5421 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _valueOscopeLevel ->
+                                                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _mtokenPos
+                                                                        {-# LINE 5426 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _valueOmtokenPos ->
+                                                                 (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIloopLevel
+                                                                         {-# LINE 5431 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _valueOloopLevel ->
+                                                                  (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _lhsIfuncName
+                                                                          {-# LINE 5436 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _valueOfuncName ->
+                                                                   (case (({-# LINE 641 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           True
+                                                                           {-# LINE 5441 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _valueOtopLevel ->
+                                                                    (case (({-# LINE 640 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            True
+                                                                            {-# LINE 5446 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _valueOinParentheses ->
+                                                                     (case (({-# LINE 639 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             False
+                                                                             {-# LINE 5451 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _valueIglobalDefinitions
+                                                                                   {-# LINE 5458 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _sepOglobalDefinitions ->
+                                                                            (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _valueIvariableStyle
+                                                                                    {-# LINE 5463 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _sepOvariableStyle ->
+                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _valueIscopes
+                                                                                     {-# LINE 5468 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _sepOscopes ->
+                                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _lhsIscopeLevel
+                                                                                      {-# LINE 5473 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _sepOscopeLevel ->
+                                                                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _mtokenPos
+                                                                                       {-# LINE 5478 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _sepOmtokenPos ->
+                                                                                (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        _lhsIloopLevel
+                                                                                        {-# LINE 5483 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _sepOloopLevel ->
+                                                                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         _lhsIisMeta
+                                                                                         {-# LINE 5488 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _sepOisMeta ->
+                                                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          _valueIisInModule
+                                                                                          {-# LINE 5493 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _sepOisInModule ->
+                                                                                   (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           _lhsIfuncName
+                                                                                           {-# LINE 5498 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                           )) of
+                                                                                    { _sepOfuncName ->
+                                                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            _lhsIconfig
+                                                                                            {-# LINE 5503 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                  _sepIglobalDefinitions
+                                                                                                  {-# LINE 5510 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                  )) of
+                                                                                           { _lhsOglobalDefinitions ->
+                                                                                           (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                   (const _keyIidentifier (const _valueIidentifier _sepIidentifier))
+                                                                                                   {-# LINE 5515 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                   )) of
+                                                                                            { _lhsOidentifier ->
+                                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                    _sepIisInModule
+                                                                                                    {-# LINE 5520 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                    )) of
+                                                                                             { _lhsOisInModule ->
+                                                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                     _mtokenPos
+                                                                                                     {-# LINE 5525 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                     )) of
+                                                                                              { _lhsOmtokenPos ->
+                                                                                              (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                      _sepIscopes
+                                                                                                      {-# LINE 5530 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                      )) of
+                                                                                               { _lhsOscopes ->
+                                                                                               (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                       _sepIvariableStyle
+                                                                                                       {-# LINE 5535 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                       )) of
+                                                                                                { _lhsOvariableStyle ->
+                                                                                                (case (({-# LINE 642 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                        _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings
+                                                                                                        {-# LINE 5540 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                        )) of
+                                                                                                 { _warnings_augmented_syn ->
+                                                                                                 (case (({-# LINE 642 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                         if not (lint_duplicateTableKeys _lhsIconfig) || not (S.member _keyImtok _lhsIfieldNames) then id else
+                                                                                                           (:) $ warn _keyImtokenPos $ DuplicateKeyInTable _keyImtok
+                                                                                                         {-# LINE 5546 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                         )) of
+                                                                                                  { _warnings_augmented_f1 ->
+                                                                                                  (case (({-# LINE 642 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                          foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                                          {-# LINE 5551 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      UnnamedField _valueIcopy _sepIcopy
+                      {-# LINE 5568 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 5573 "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 164 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfieldNames
+                                             {-# LINE 5591 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _lhsOfieldNames ->
+                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopes
+                                              {-# LINE 5596 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _valueOscopes ->
+                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIisMeta
+                                               {-# LINE 5601 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _valueOisMeta ->
+                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIisInModule
+                                                {-# LINE 5606 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _valueOisInModule ->
+                                         (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIglobalDefinitions
+                                                 {-# LINE 5611 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _valueOglobalDefinitions ->
+                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIconfig
+                                                  {-# LINE 5616 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _valueOconfig ->
+                                           (case (({-# LINE 648 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   Nothing
+                                                   {-# LINE 5621 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _valueOvarBeingDefined ->
+                                            (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIvariableStyle
+                                                    {-# LINE 5626 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _valueOvariableStyle ->
+                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIscopeLevel
+                                                     {-# LINE 5631 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _valueOscopeLevel ->
+                                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsImtokenPos
+                                                      {-# LINE 5636 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _valueOmtokenPos ->
+                                               (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIloopLevel
+                                                       {-# LINE 5641 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _valueOloopLevel ->
+                                                (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIfuncName
+                                                        {-# LINE 5646 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _valueOfuncName ->
+                                                 (case (({-# LINE 647 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         True
+                                                         {-# LINE 5651 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _valueOtopLevel ->
+                                                  (case (({-# LINE 646 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          True
+                                                          {-# LINE 5656 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _valueOinParentheses ->
+                                                   (case (({-# LINE 645 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           False
+                                                           {-# LINE 5661 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _valueIglobalDefinitions
+                                                                 {-# LINE 5668 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _sepOglobalDefinitions ->
+                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _valueIvariableStyle
+                                                                  {-# LINE 5673 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _sepOvariableStyle ->
+                                                           (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _valueIscopes
+                                                                   {-# LINE 5678 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _sepOscopes ->
+                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIscopeLevel
+                                                                    {-# LINE 5683 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _sepOscopeLevel ->
+                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _valueImtokenPos
+                                                                     {-# LINE 5688 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _sepOmtokenPos ->
+                                                              (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIloopLevel
+                                                                      {-# LINE 5693 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _sepOloopLevel ->
+                                                               (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIisMeta
+                                                                       {-# LINE 5698 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _sepOisMeta ->
+                                                                (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _valueIisInModule
+                                                                        {-# LINE 5703 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _sepOisInModule ->
+                                                                 (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIfuncName
+                                                                         {-# LINE 5708 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _sepOfuncName ->
+                                                                  (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _lhsIconfig
+                                                                          {-# LINE 5713 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _sepIglobalDefinitions
+                                                                                {-# LINE 5720 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOglobalDefinitions ->
+                                                                         (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 (const _valueIidentifier _sepIidentifier)
+                                                                                 {-# LINE 5725 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOidentifier ->
+                                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _sepIisInModule
+                                                                                  {-# LINE 5730 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisInModule ->
+                                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _sepImtokenPos
+                                                                                   {-# LINE 5735 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOmtokenPos ->
+                                                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _sepIscopes
+                                                                                    {-# LINE 5740 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOscopes ->
+                                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _sepIvariableStyle
+                                                                                     {-# LINE 5745 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOvariableStyle ->
+                                                                              (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _valueIwarnings ++ _sepIwarnings
+                                                                                      {-# LINE 5750 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (:) _hdIcopy _tlIcopy
+                      {-# LINE 5796 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 5801 "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 164 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfieldNames
+                                             {-# LINE 5819 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _hdOfieldNames ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 5824 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _hdOvariableStyle ->
+                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopes
+                                               {-# LINE 5829 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _hdOscopes ->
+                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopeLevel
+                                                {-# LINE 5834 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _hdOscopeLevel ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsImtokenPos
+                                                 {-# LINE 5839 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _hdOmtokenPos ->
+                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIloopLevel
+                                                  {-# LINE 5844 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _hdOloopLevel ->
+                                           (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIisMeta
+                                                   {-# LINE 5849 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _hdOisMeta ->
+                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisInModule
+                                                    {-# LINE 5854 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _hdOisInModule ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 5859 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _hdOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 5864 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _hdOfuncName ->
+                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIconfig
+                                                       {-# LINE 5869 "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 164 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _hdIfieldNames
+                                                             {-# LINE 5876 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _tlOfieldNames ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _hdIvariableStyle
+                                                              {-# LINE 5881 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _tlOvariableStyle ->
+                                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _hdIscopes
+                                                               {-# LINE 5886 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _tlOscopes ->
+                                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIscopeLevel
+                                                                {-# LINE 5891 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _tlOscopeLevel ->
+                                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _hdImtokenPos
+                                                                 {-# LINE 5896 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _tlOmtokenPos ->
+                                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIloopLevel
+                                                                  {-# LINE 5901 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _tlOloopLevel ->
+                                                           (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIisMeta
+                                                                   {-# LINE 5906 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _tlOisMeta ->
+                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _hdIisInModule
+                                                                    {-# LINE 5911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _tlOisInModule ->
+                                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _hdIglobalDefinitions
+                                                                     {-# LINE 5916 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _tlOglobalDefinitions ->
+                                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIfuncName
+                                                                      {-# LINE 5921 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _tlOfuncName ->
+                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIconfig
+                                                                       {-# LINE 5926 "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 164 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _tlIfieldNames
+                                                                             {-# LINE 5933 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOfieldNames ->
+                                                                      (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _tlIglobalDefinitions
+                                                                              {-# LINE 5938 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOglobalDefinitions ->
+                                                                       (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               (const _hdIidentifier _tlIidentifier)
+                                                                               {-# LINE 5943 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOidentifier ->
+                                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _tlIisInModule
+                                                                                {-# LINE 5948 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOisInModule ->
+                                                                         (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _hdImtokenPos
+                                                                                 {-# LINE 5953 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOmtokenPos ->
+                                                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _tlIscopes
+                                                                                  {-# LINE 5958 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOscopes ->
+                                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _tlIvariableStyle
+                                                                                   {-# LINE 5963 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOvariableStyle ->
+                                                                            (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _hdIwarnings ++ _tlIwarnings
+                                                                                    {-# LINE 5968 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            []
+            {-# LINE 5979 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 5984 "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 164 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIfieldNames
+                                   {-# LINE 6002 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOfieldNames ->
+                            (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    _lhsIglobalDefinitions
+                                    {-# LINE 6007 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOglobalDefinitions ->
+                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     unknownIdentifier
+                                     {-# LINE 6012 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOidentifier ->
+                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsIisInModule
+                                      {-# LINE 6017 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisInModule ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 6022 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 6027 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 6032 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 6037 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            CommaSep
+            {-# LINE 6080 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 6085 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 6102 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 6107 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 6112 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 6117 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 6122 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 6127 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         []
+                                         {-# LINE 6132 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            SemicolonSep
+            {-# LINE 6143 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 6148 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 6165 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 6170 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 6175 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 6180 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 6185 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 6190 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         []
+                                         {-# LINE 6195 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            NoSep
+            {-# LINE 6206 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 6211 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 6228 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 6233 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 6238 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 6243 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 6248 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 6253 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         []
+                                         {-# LINE 6258 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            FuncName names_ meta_
+            {-# LINE 6299 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 6304 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 514 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              isJust meta_
+              {-# LINE 6309 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    _lhsIglobalDefinitions
+                                    {-# LINE 6326 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOglobalDefinitions ->
+                             (case (({-# LINE 515 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     length names_ > 1
+                                     {-# LINE 6331 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOhasSuffixes ->
+                              (case (({-# LINE 513 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      tokenLabel . head $ names_
+                                      {-# LINE 6336 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOidentifier ->
+                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIisInModule
+                                       {-# LINE 6341 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOisInModule ->
+                                (case (({-# LINE 512 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        mpos (head names_)
+                                        {-# LINE 6346 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOmtokenPos ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 6351 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOscopes ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 6356 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 6361 "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 _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 :: Region ->
+                   T_Block ->
+                   T_MElse
+sem_MElse_MElse pos_ body_ =
+    (case (body_) of
+     { ( _bodyIcopy,body_1) ->
+         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 MElse pos_ _bodyIcopy
+                 {-# LINE 6404 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 6409 "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 203 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        False
+                                        {-# LINE 6426 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOelseExists ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 6431 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _bodyOscopes ->
+                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisMeta
+                                          {-# LINE 6436 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _bodyOisMeta ->
+                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisInModule
+                                           {-# LINE 6441 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _bodyOisInModule ->
+                                    (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIglobalDefinitions
+                                            {-# LINE 6446 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _bodyOglobalDefinitions ->
+                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIconfig
+                                             {-# LINE 6451 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _bodyOconfig ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 6456 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _bodyOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 6461 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _bodyOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 6466 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _bodyOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 6471 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _bodyOloopLevel ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 6476 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _bodyOfuncName ->
+                                           (case (({-# LINE 492 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   False
+                                                   {-# LINE 6481 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _bodyIglobalDefinitions
+                                                         {-# LINE 6488 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOglobalDefinitions ->
+                                                  (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _bodyIidentifier
+                                                          {-# LINE 6493 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOidentifier ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _bodyIisInModule
+                                                           {-# LINE 6498 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 493 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            pos_
+                                                            {-# LINE 6503 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOmtokenPos ->
+                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _bodyIscopes
+                                                             {-# LINE 6508 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOscopes ->
+                                                      (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _bodyIstatementCount
+                                                              {-# LINE 6513 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOstatementCount ->
+                                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _bodyIvariableStyle
+                                                               {-# LINE 6518 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOvariableStyle ->
+                                                        (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _bodyIwarnings
+                                                                {-# LINE 6523 "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 _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 :: Region ->
+                       T_ElseIf ->
+                       T_MElseIf
+sem_MElseIf_MElseIf pos_ elif_ =
+    (case (elif_) of
+     { ( _elifIcopy,elif_1) ->
+         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 MElseIf pos_ _elifIcopy
+                 {-# LINE 6566 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 6571 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 6588 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _elifOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 6593 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _elifOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 6598 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _elifOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 6603 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _elifOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 6608 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _elifOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 6613 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _elifOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 6618 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _elifOscopeLevel ->
+                                       (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIloopLevel
+                                               {-# LINE 6623 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _elifOloopLevel ->
+                                        (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIfuncName
+                                                {-# LINE 6628 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _elifOfuncName ->
+                                         (case (({-# LINE 476 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 pos_
+                                                 {-# LINE 6633 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _elifIglobalDefinitions
+                                                       {-# LINE 6640 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOglobalDefinitions ->
+                                                (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _elifIidentifier
+                                                        {-# LINE 6645 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOidentifier ->
+                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _elifIisInModule
+                                                         {-# LINE 6650 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOisInModule ->
+                                                  (case (({-# LINE 477 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          pos_
+                                                          {-# LINE 6655 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOmtokenPos ->
+                                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _elifIscopes
+                                                           {-# LINE 6660 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOscopes ->
+                                                    (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _elifIvariableStyle
+                                                            {-# LINE 6665 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOvariableStyle ->
+                                                     (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _elifIwarnings
+                                                             {-# LINE 6670 "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 _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 :: Region ->
+                   T_Expr ->
+                   T_MExpr
+sem_MExpr_MExpr pos_ expr_ =
+    (case (expr_) of
+     { ( _exprIcopy,expr_1) ->
+         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 MExpr pos_ _exprIcopy
+                 {-# LINE 6717 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 6722 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                  )) of
+           { _lhsOcopy ->
+           (case (({-# LINE 570 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                   pos_
+                   {-# LINE 6727 "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 179 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvarBeingDefined
+                                         {-# LINE 6748 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _exprOvarBeingDefined ->
+                                  (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIscopes
+                                          {-# LINE 6753 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _exprOscopes ->
+                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta
+                                           {-# LINE 6758 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _exprOisMeta ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 6763 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _exprOisInModule ->
+                                     (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIglobalDefinitions
+                                             {-# LINE 6768 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _exprOglobalDefinitions ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 6773 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _exprOconfig ->
+                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIvariableStyle
+                                               {-# LINE 6778 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _exprOvariableStyle ->
+                                        (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsItopLevel
+                                                {-# LINE 6783 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _exprOtopLevel ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 6788 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _exprOscopeLevel ->
+                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIloopLevel
+                                                  {-# LINE 6793 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _exprOloopLevel ->
+                                           (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIisNegation
+                                                   {-# LINE 6798 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _exprOisNegation ->
+                                            (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIinParentheses
+                                                    {-# LINE 6803 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _exprOinParentheses ->
+                                             (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIfuncName
+                                                     {-# LINE 6808 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _exprOfuncName ->
+                                              (case (({-# LINE 571 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      pos_
+                                                      {-# LINE 6813 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _exprIglobalDefinitions
+                                                            {-# LINE 6820 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOglobalDefinitions ->
+                                                     (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _exprIidentifier
+                                                             {-# LINE 6825 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOidentifier ->
+                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _exprIisInModule
+                                                              {-# LINE 6830 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOisInModule ->
+                                                       (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _exprIisSimpleExpression
+                                                               {-# LINE 6835 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOisSimpleExpression ->
+                                                        (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _exprIisSingleVar
+                                                                {-# LINE 6840 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _lhsOisSingleVar ->
+                                                         (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _exprIscopes
+                                                                 {-# LINE 6845 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _lhsOscopes ->
+                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _exprIvariableStyle
+                                                                  {-# LINE 6850 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _lhsOvariableStyle ->
+                                                           (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _exprIwarnings
+                                                                   {-# LINE 6855 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (:) _hdIcopy _tlIcopy
+                      {-# LINE 6902 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 6907 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 6926 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _hdOscopes ->
+                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisMeta
+                                              {-# LINE 6931 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _hdOisMeta ->
+                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIconfig
+                                               {-# LINE 6936 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _hdOconfig ->
+                                        (case (({-# LINE 246 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                Nothing
+                                                {-# LINE 6941 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _hdOvarBeingDefined ->
+                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIvariableStyle
+                                                 {-# LINE 6946 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _hdOvariableStyle ->
+                                          (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsItopLevel
+                                                  {-# LINE 6951 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _hdOtopLevel ->
+                                           (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIscopeLevel
+                                                   {-# LINE 6956 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _hdOscopeLevel ->
+                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsImtokenPos
+                                                    {-# LINE 6961 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _hdOmtokenPos ->
+                                             (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIloopLevel
+                                                     {-# LINE 6966 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _hdOloopLevel ->
+                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIisInModule
+                                                      {-# LINE 6971 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _hdOisInModule ->
+                                               (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIinParentheses
+                                                       {-# LINE 6976 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _hdOinParentheses ->
+                                                (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIglobalDefinitions
+                                                        {-# LINE 6981 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _hdOglobalDefinitions ->
+                                                 (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIfuncName
+                                                         {-# LINE 6986 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _hdOfuncName ->
+                                                  (case (({-# LINE 245 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 6991 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _hdIscopes
+                                                                {-# LINE 6998 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _tlOscopes ->
+                                                         (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIisMeta
+                                                                 {-# LINE 7003 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _tlOisMeta ->
+                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _hdIisInModule
+                                                                  {-# LINE 7008 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _tlOisInModule ->
+                                                           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _hdIglobalDefinitions
+                                                                   {-# LINE 7013 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _tlOglobalDefinitions ->
+                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIconfig
+                                                                    {-# LINE 7018 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _tlOconfig ->
+                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _hdIvariableStyle
+                                                                     {-# LINE 7023 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _tlOvariableStyle ->
+                                                              (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsItopLevel
+                                                                      {-# LINE 7028 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _tlOtopLevel ->
+                                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIscopeLevel
+                                                                       {-# LINE 7033 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _tlOscopeLevel ->
+                                                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _hdImtokenPos
+                                                                        {-# LINE 7038 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _tlOmtokenPos ->
+                                                                 (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIloopLevel
+                                                                         {-# LINE 7043 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _tlOloopLevel ->
+                                                                  (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _lhsIinParentheses
+                                                                          {-# LINE 7048 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _tlOinParentheses ->
+                                                                   (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _lhsIfuncName
+                                                                           {-# LINE 7053 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _tlIglobalDefinitions
+                                                                                 {-# LINE 7060 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOglobalDefinitions ->
+                                                                          (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  (const _hdIidentifier _tlIidentifier)
+                                                                                  {-# LINE 7065 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOidentifier ->
+                                                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _tlIisInModule
+                                                                                   {-# LINE 7070 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOisInModule ->
+                                                                            (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _hdImtokenPos
+                                                                                    {-# LINE 7075 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOmtokenPos ->
+                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _tlIscopes
+                                                                                     {-# LINE 7080 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOscopes ->
+                                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _tlIvariableStyle
+                                                                                      {-# LINE 7085 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOvariableStyle ->
+                                                                               (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _hdIwarnings ++ _tlIwarnings
+                                                                                       {-# LINE 7090 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            []
+            {-# LINE 7101 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 7106 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 7125 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 7130 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 7135 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 7140 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 7145 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 7150 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         []
+                                         {-# LINE 7155 "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 _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 :: Region ->
+                   T_Stat ->
+                   T_MStat
+sem_MStat_MStat pos_ stat_ =
+    (case (stat_) of
+     { ( _statIcopy,stat_1) ->
+         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 MStat pos_ _statIcopy
+                 {-# LINE 7198 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 7203 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 7220 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _statOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 7225 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _statOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 7230 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _statOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 7235 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _statOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 7240 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _statOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 7245 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _statOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 7250 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _statOscopeLevel ->
+                                       (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIloopLevel
+                                               {-# LINE 7255 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _statOloopLevel ->
+                                        (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIfuncName
+                                                {-# LINE 7260 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _statOfuncName ->
+                                         (case (({-# LINE 310 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 pos_
+                                                 {-# LINE 7265 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _statIglobalDefinitions
+                                                       {-# LINE 7272 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOglobalDefinitions ->
+                                                (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _statIidentifier
+                                                        {-# LINE 7277 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOidentifier ->
+                                                 (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _statIisIfStatement
+                                                         {-# LINE 7282 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOisIfStatement ->
+                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _statIisInModule
+                                                          {-# LINE 7287 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisInModule ->
+                                                   (case (({-# LINE 309 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           pos_
+                                                           {-# LINE 7292 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOmtokenPos ->
+                                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _statIscopes
+                                                            {-# LINE 7297 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOscopes ->
+                                                     (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             1
+                                                             {-# LINE 7302 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOstatementCount ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _statIvariableStyle
+                                                              {-# LINE 7307 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOvariableStyle ->
+                                                       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _statIwarnings
+                                                               {-# LINE 7312 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (:) _hdIcopy _tlIcopy
+                      {-# LINE 7357 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 7362 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 7379 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _hdOscopes ->
+                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisMeta
+                                              {-# LINE 7384 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _hdOisMeta ->
+                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIconfig
+                                               {-# LINE 7389 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _hdOconfig ->
+                                        (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIvariableStyle
+                                                {-# LINE 7394 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _hdOvariableStyle ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 7399 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _hdOscopeLevel ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsImtokenPos
+                                                  {-# LINE 7404 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _hdOmtokenPos ->
+                                           (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIloopLevel
+                                                   {-# LINE 7409 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _hdOloopLevel ->
+                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisInModule
+                                                    {-# LINE 7414 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _hdOisInModule ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 7419 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _hdOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 7424 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _hdIscopes
+                                                            {-# LINE 7431 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _tlOscopes ->
+                                                     (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIisMeta
+                                                             {-# LINE 7436 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _tlOisMeta ->
+                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _hdIisInModule
+                                                              {-# LINE 7441 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _tlOisInModule ->
+                                                       (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _hdIglobalDefinitions
+                                                               {-# LINE 7446 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _tlOglobalDefinitions ->
+                                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIconfig
+                                                                {-# LINE 7451 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _tlOconfig ->
+                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _hdIvariableStyle
+                                                                 {-# LINE 7456 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _tlOvariableStyle ->
+                                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIscopeLevel
+                                                                  {-# LINE 7461 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _tlOscopeLevel ->
+                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _hdImtokenPos
+                                                                   {-# LINE 7466 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _tlOmtokenPos ->
+                                                            (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIloopLevel
+                                                                    {-# LINE 7471 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _tlOloopLevel ->
+                                                             (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIfuncName
+                                                                     {-# LINE 7476 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _tlIglobalDefinitions
+                                                                           {-# LINE 7483 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _lhsOglobalDefinitions ->
+                                                                    (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            (const _hdIidentifier _tlIidentifier)
+                                                                            {-# LINE 7488 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _lhsOidentifier ->
+                                                                     (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _hdIisIfStatement || _tlIisIfStatement
+                                                                             {-# LINE 7493 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOisIfStatement ->
+                                                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _tlIisInModule
+                                                                              {-# LINE 7498 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOisInModule ->
+                                                                       (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _hdImtokenPos
+                                                                               {-# LINE 7503 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOmtokenPos ->
+                                                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _tlIscopes
+                                                                                {-# LINE 7508 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOscopes ->
+                                                                         (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _hdIstatementCount + _tlIstatementCount
+                                                                                 {-# LINE 7513 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOstatementCount ->
+                                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _tlIvariableStyle
+                                                                                  {-# LINE 7518 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOvariableStyle ->
+                                                                           (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _hdIwarnings ++ _tlIwarnings
+                                                                                   {-# LINE 7523 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            []
+            {-# LINE 7534 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 7539 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 7556 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 7561 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     False
+                                     {-# LINE 7566 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisIfStatement ->
+                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsIisInModule
+                                      {-# LINE 7571 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisInModule ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 7576 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 7581 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 241 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         0
+                                         {-# LINE 7586 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOstatementCount ->
+                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIvariableStyle
+                                          {-# LINE 7591 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOvariableStyle ->
+                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           []
+                                           {-# LINE 7596 "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 _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 :: Region ->
+                     T_Token ->
+                     T_MToken
+sem_MToken_MToken mpos_ mtok_ =
+    (case (mtok_) of
+     { ( _mtokIcopy,_mtokIidentifier,_mtokIwarnings) ->
+         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 MToken mpos_ _mtokIcopy
+                 {-# LINE 7636 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 7641 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                  )) of
+           { _lhsOcopy ->
+           (case (({-# LINE 228 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                   _mtokIcopy
+                   {-# LINE 7646 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                   )) of
+            { _lhsOmtok ->
+            (case (({-# LINE 227 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                    mpos_
+                    {-# LINE 7651 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIglobalDefinitions
+                                          {-# LINE 7665 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lhsOglobalDefinitions ->
+                                   (case (({-# LINE 229 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _mtokIidentifier
+                                           {-# LINE 7670 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _lhsOidentifier ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 7675 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _lhsOisInModule ->
+                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 7680 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _lhsOscopes ->
+                                      (case (({-# LINE 230 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _mtokIwarnings
+                                              {-# LINE 7685 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _warnings_augmented_syn ->
+                                       (case (({-# LINE 230 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               if not (lint_goto_identifier _lhsIconfig) || _mtokIidentifier /= "goto" then id else
+                                                 (:) $ warn mpos_ GotoAsIdentifier
+                                               {-# LINE 7691 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _warnings_augmented_f1 ->
+                                        (case (({-# LINE 230 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                {-# LINE 7696 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 _lhsIscopes
+                 {-# LINE 7739 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _hdOscopes ->
+          (case (hd_) of
+           { ( _hdIcopy,_hdImtok,_hdImtokenPos,hd_1) ->
+               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _lhsImtokenPos
+                       {-# LINE 7746 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                       )) of
+                { _hdOmtokenPos ->
+                (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                        _lhsIisMeta
+                        {-# LINE 7751 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                        )) of
+                 { _hdOisMeta ->
+                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                         _lhsIisInModule
+                         {-# LINE 7756 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                         )) of
+                  { _hdOisInModule ->
+                  (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                          _lhsIglobalDefinitions
+                          {-# LINE 7761 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                          )) of
+                   { _hdOglobalDefinitions ->
+                   (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                           _lhsIfuncName
+                           {-# LINE 7766 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                           )) of
+                    { _hdOfuncName ->
+                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                            _lhsIconfig
+                            {-# LINE 7771 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                  _hdIscopes
+                                  {-# LINE 7778 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                  )) of
+                           { _tlOscopes ->
+                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _hdImtokenPos
+                                   {-# LINE 7783 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _tlOmtokenPos ->
+                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    _lhsIisMeta
+                                    {-# LINE 7788 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _tlOisMeta ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _hdIisInModule
+                                     {-# LINE 7793 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _tlOisInModule ->
+                              (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _hdIglobalDefinitions
+                                      {-# LINE 7798 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _tlOglobalDefinitions ->
+                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIfuncName
+                                       {-# LINE 7803 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _tlOfuncName ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIconfig
+                                        {-# LINE 7808 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              (:) _hdIcopy _tlIcopy
+                                              {-# LINE 7815 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _copy ->
+                                       (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _copy
+                                               {-# LINE 7820 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _lhsOcopy ->
+                                        (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _tlIglobalDefinitions
+                                                {-# LINE 7825 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _lhsOglobalDefinitions ->
+                                         (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 (const _hdIidentifier _tlIidentifier)
+                                                 {-# LINE 7830 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _lhsOidentifier ->
+                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _tlIisInModule
+                                                  {-# LINE 7835 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _lhsOisInModule ->
+                                           (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _hdImtokenPos
+                                                   {-# LINE 7840 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _lhsOmtokenPos ->
+                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _tlIscopes
+                                                    {-# LINE 7845 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _lhsOscopes ->
+                                             (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _hdIwarnings ++ _tlIwarnings
+                                                     {-# LINE 7850 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 []
+                 {-# LINE 7865 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 7870 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                  )) of
+           { _lhsOcopy ->
+           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                   _lhsIglobalDefinitions
+                   {-# LINE 7875 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                   )) of
+            { _lhsOglobalDefinitions ->
+            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                    unknownIdentifier
+                    {-# LINE 7880 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                    )) of
+             { _lhsOidentifier ->
+             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                     _lhsIisInModule
+                     {-# LINE 7885 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                     )) of
+              { _lhsOisInModule ->
+              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      _lhsImtokenPos
+                      {-# LINE 7890 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _lhsOmtokenPos ->
+               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _lhsIscopes
+                       {-# LINE 7895 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                       )) of
+                { _lhsOscopes ->
+                (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                        []
+                        {-# LINE 7900 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 Just _justIcopy
+                 {-# LINE 7943 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 7948 "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 179 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvarBeingDefined
+                                        {-# LINE 7967 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _justOvarBeingDefined ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 7972 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _justOscopes ->
+                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisMeta
+                                          {-# LINE 7977 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _justOisMeta ->
+                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisInModule
+                                           {-# LINE 7982 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _justOisInModule ->
+                                    (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIglobalDefinitions
+                                            {-# LINE 7987 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _justOglobalDefinitions ->
+                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIconfig
+                                             {-# LINE 7992 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _justOconfig ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 7997 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _justOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 8002 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _justOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 8007 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _justOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 8012 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _justOloopLevel ->
+                                          (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIisNegation
+                                                  {-# LINE 8017 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _justOisNegation ->
+                                           (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIfuncName
+                                                   {-# LINE 8022 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _justOfuncName ->
+                                            (case (({-# LINE 252 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    False
+                                                    {-# LINE 8027 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _justOtopLevel ->
+                                             (case (({-# LINE 251 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     False
+                                                     {-# LINE 8032 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _justIglobalDefinitions
+                                                           {-# LINE 8039 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOglobalDefinitions ->
+                                                    (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _justIidentifier
+                                                            {-# LINE 8044 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOidentifier ->
+                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _justIisInModule
+                                                             {-# LINE 8049 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOisInModule ->
+                                                      (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _justIisSingleVar
+                                                              {-# LINE 8054 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOisSingleVar ->
+                                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _justImtokenPos
+                                                               {-# LINE 8059 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOmtokenPos ->
+                                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _justIscopes
+                                                                {-# LINE 8064 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _lhsOscopes ->
+                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _justIvariableStyle
+                                                                 {-# LINE 8069 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _lhsOvariableStyle ->
+                                                          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _justIwarnings
+                                                                  {-# LINE 8074 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Nothing
+            {-# LINE 8085 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 8090 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 8109 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 8114 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 8119 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      Nothing
+                                      {-# LINE 8124 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisSingleVar ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 8129 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 8134 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 8139 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 8144 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 Call _argsIcopy
+                 {-# LINE 8192 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 8197 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 8214 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _argsOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 8219 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _argsOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 8224 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _argsOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 8229 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _argsOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 8234 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _argsOconfig ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 8239 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _argsOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 8244 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _argsOscopeLevel ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsImtokenPos
+                                               {-# LINE 8249 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _argsOmtokenPos ->
+                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIloopLevel
+                                                {-# LINE 8254 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _argsOloopLevel ->
+                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIfuncName
+                                                 {-# LINE 8259 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _argsIglobalDefinitions
+                                                       {-# LINE 8266 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOglobalDefinitions ->
+                                                (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _argsIidentifier
+                                                        {-# LINE 8271 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOidentifier ->
+                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _argsIisInModule
+                                                         {-# LINE 8276 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOisInModule ->
+                                                  (case (({-# LINE 558 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 8281 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisSimpleExpression ->
+                                                   (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _argsImtokenPos
+                                                           {-# LINE 8286 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOmtokenPos ->
+                                                    (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _argsIscopes
+                                                            {-# LINE 8291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOscopes ->
+                                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _argsIvariableStyle
+                                                             {-# LINE 8296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOvariableStyle ->
+                                                      (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _argsIwarnings
+                                                              {-# LINE 8301 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      MetaCall _fnIcopy _argsIcopy
+                      {-# LINE 8318 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 8323 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 8340 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _fnOscopes ->
+                                      (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsImtokenPos
+                                              {-# LINE 8345 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _fnOmtokenPos ->
+                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIisMeta
+                                               {-# LINE 8350 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _fnOisMeta ->
+                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIisInModule
+                                                {-# LINE 8355 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _fnOisInModule ->
+                                         (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIglobalDefinitions
+                                                 {-# LINE 8360 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _fnOglobalDefinitions ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 8365 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _fnOfuncName ->
+                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIconfig
+                                                   {-# LINE 8370 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _fnIscopes
+                                                         {-# LINE 8377 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _argsOscopes ->
+                                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIisMeta
+                                                          {-# LINE 8382 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _argsOisMeta ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _fnIisInModule
+                                                           {-# LINE 8387 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _argsOisInModule ->
+                                                    (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _fnIglobalDefinitions
+                                                            {-# LINE 8392 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _argsOglobalDefinitions ->
+                                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIconfig
+                                                             {-# LINE 8397 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _argsOconfig ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _lhsIvariableStyle
+                                                              {-# LINE 8402 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _argsOvariableStyle ->
+                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsIscopeLevel
+                                                               {-# LINE 8407 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _argsOscopeLevel ->
+                                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _fnImtokenPos
+                                                                {-# LINE 8412 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _argsOmtokenPos ->
+                                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIloopLevel
+                                                                 {-# LINE 8417 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _argsOloopLevel ->
+                                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIfuncName
+                                                                  {-# LINE 8422 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _argsIglobalDefinitions
+                                                                        {-# LINE 8429 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _lhsOglobalDefinitions ->
+                                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         (const _fnIidentifier _argsIidentifier)
+                                                                         {-# LINE 8434 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _lhsOidentifier ->
+                                                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _argsIisInModule
+                                                                          {-# LINE 8439 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _lhsOisInModule ->
+                                                                   (case (({-# LINE 560 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           False
+                                                                           {-# LINE 8444 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _lhsOisSimpleExpression ->
+                                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            _argsImtokenPos
+                                                                            {-# LINE 8449 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _lhsOmtokenPos ->
+                                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _argsIscopes
+                                                                             {-# LINE 8454 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOscopes ->
+                                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _argsIvariableStyle
+                                                                              {-# LINE 8459 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOvariableStyle ->
+                                                                       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _fnIwarnings ++ _argsIwarnings
+                                                                               {-# LINE 8464 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 ExprIndex _indexIcopy
+                 {-# LINE 8478 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 8483 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 8500 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _indexOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 8505 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _indexOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 8510 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _indexOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 8515 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _indexOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 8520 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _indexOconfig ->
+                                     (case (({-# LINE 565 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             Nothing
+                                             {-# LINE 8525 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _indexOvarBeingDefined ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 8530 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _indexOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 8535 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _indexOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 8540 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _indexOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 8545 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _indexOloopLevel ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 8550 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _indexOfuncName ->
+                                           (case (({-# LINE 564 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   True
+                                                   {-# LINE 8555 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _indexOtopLevel ->
+                                            (case (({-# LINE 563 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    True
+                                                    {-# LINE 8560 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _indexOinParentheses ->
+                                             (case (({-# LINE 562 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     False
+                                                     {-# LINE 8565 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _indexIglobalDefinitions
+                                                           {-# LINE 8572 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOglobalDefinitions ->
+                                                    (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _indexIidentifier
+                                                            {-# LINE 8577 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOidentifier ->
+                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _indexIisInModule
+                                                             {-# LINE 8582 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOisInModule ->
+                                                      (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _indexIisSimpleExpression
+                                                              {-# LINE 8587 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOisSimpleExpression ->
+                                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _indexImtokenPos
+                                                               {-# LINE 8592 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _lhsOmtokenPos ->
+                                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _indexIscopes
+                                                                {-# LINE 8597 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _lhsOscopes ->
+                                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _indexIvariableStyle
+                                                                 {-# LINE 8602 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _lhsOvariableStyle ->
+                                                          (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _indexIwarnings
+                                                                  {-# LINE 8607 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 DotIndex _indexIcopy
+                 {-# LINE 8621 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 8626 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIglobalDefinitions
+                                        {-# LINE 8643 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _indexOglobalDefinitions ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 8648 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _indexOscopes ->
+                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsImtokenPos
+                                          {-# LINE 8653 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _indexOmtokenPos ->
+                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta
+                                           {-# LINE 8658 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _indexOisMeta ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 8663 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _indexOisInModule ->
+                                     (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfuncName
+                                             {-# LINE 8668 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _indexOfuncName ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 8673 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _indexIglobalDefinitions
+                                                    {-# LINE 8680 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _lhsOglobalDefinitions ->
+                                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _indexIidentifier
+                                                     {-# LINE 8685 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _lhsOidentifier ->
+                                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _indexIisInModule
+                                                      {-# LINE 8690 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _lhsOisInModule ->
+                                               (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       True
+                                                       {-# LINE 8695 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOisSimpleExpression ->
+                                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _indexImtokenPos
+                                                        {-# LINE 8700 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOmtokenPos ->
+                                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _indexIscopes
+                                                         {-# LINE 8705 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOscopes ->
+                                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIvariableStyle
+                                                          {-# LINE 8710 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOvariableStyle ->
+                                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _indexIwarnings
+                                                           {-# LINE 8715 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      PFVar _nameIcopy _suffixesIcopy
+                      {-# LINE 8767 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 8772 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                       )) of
+                { _lhsOcopy ->
+                (case (({-# LINE 520 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                        not . null $ _suffixesIcopy
+                        {-# LINE 8777 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                        )) of
+                 { _lhsOhasSuffixes ->
+                 (case (({-# LINE 519 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                         _nameImtokenPos
+                         {-# LINE 8782 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                         )) of
+                  { _lhsOmtokenPos ->
+                  (case (({-# LINE 522 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                          Just _nameIcopy
+                          {-# LINE 8787 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                          )) of
+                   { _varName ->
+                   (case (({-# LINE 193 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                           _varName
+                           {-# LINE 8792 "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 526 "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 8819 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _foundVars ->
+                                          (case (({-# LINE 536 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _foundVars
+                                                  {-# LINE 8824 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _nameOscopes ->
+                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsImtokenPos
+                                                   {-# LINE 8829 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _nameOmtokenPos ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisMeta
+                                                    {-# LINE 8834 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _nameOisMeta ->
+                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIisInModule
+                                                     {-# LINE 8839 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _nameOisInModule ->
+                                              (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIglobalDefinitions
+                                                      {-# LINE 8844 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _nameOglobalDefinitions ->
+                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIfuncName
+                                                       {-# LINE 8849 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _nameOfuncName ->
+                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIconfig
+                                                        {-# LINE 8854 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _nameIscopes
+                                                              {-# LINE 8861 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _suffixesOscopes ->
+                                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsIisMeta
+                                                               {-# LINE 8866 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _suffixesOisMeta ->
+                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _nameIisInModule
+                                                                {-# LINE 8871 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _suffixesOisInModule ->
+                                                         (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _nameIglobalDefinitions
+                                                                 {-# LINE 8876 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _suffixesOglobalDefinitions ->
+                                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIconfig
+                                                                  {-# LINE 8881 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _suffixesOconfig ->
+                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIvariableStyle
+                                                                   {-# LINE 8886 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _suffixesOvariableStyle ->
+                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIscopeLevel
+                                                                    {-# LINE 8891 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _suffixesOscopeLevel ->
+                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _nameImtokenPos
+                                                                     {-# LINE 8896 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _suffixesOmtokenPos ->
+                                                              (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIloopLevel
+                                                                      {-# LINE 8901 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _suffixesOloopLevel ->
+                                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIfuncName
+                                                                       {-# LINE 8906 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _suffixesIglobalDefinitions
+                                                                             {-# LINE 8913 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOglobalDefinitions ->
+                                                                      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              (const _nameIidentifier _suffixesIidentifier)
+                                                                              {-# LINE 8918 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOidentifier ->
+                                                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _suffixesIisInModule
+                                                                               {-# LINE 8923 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOisInModule ->
+                                                                        (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _suffixesIisSimpleExpression
+                                                                                {-# LINE 8928 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOisSimpleExpression ->
+                                                                         (case (({-# LINE 521 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 if null _suffixesIcopy then _varName     else Nothing
+                                                                                 {-# LINE 8933 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOisSingleVar ->
+                                                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _suffixesIscopes
+                                                                                  {-# LINE 8938 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOscopes ->
+                                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _suffixesIvariableStyle
+                                                                                   {-# LINE 8943 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOvariableStyle ->
+                                                                            (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _nameIwarnings ++ _suffixesIwarnings
+                                                                                    {-# LINE 8948 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _warnings_augmented_syn ->
+                                                                             (case (({-# LINE 535 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     tokenLabel _nameIcopy
+                                                                                     {-# LINE 8953 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _name ->
+                                                                              (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      if not (lint_beginnerMistakes _lhsIconfig) || _lhsIisMeta || _name     /= "self" then id else
+                                                                                        (:) $ warn _nameImtokenPos SelfInNonMeta
+                                                                                      {-# LINE 8959 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _warnings_augmented_f3 ->
+                                                                               (case (({-# LINE 542 "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 8966 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _warnings_augmented_f2 ->
+                                                                                (case (({-# LINE 542 "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 8973 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _warnings_augmented_f1 ->
+                                                                                 (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2, _warnings_augmented_f3]
+                                                                                         {-# LINE 8978 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      ExprVar _exprIcopy _suffixesIcopy
+                      {-# LINE 8995 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 9000 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                       )) of
+                { _lhsOcopy ->
+                (case (({-# LINE 549 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                        False
+                        {-# LINE 9005 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                        )) of
+                 { _lhsOhasSuffixes ->
+                 (case (({-# LINE 546 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                         _exprImtokenPos
+                         {-# LINE 9010 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                         )) of
+                  { _lhsOmtokenPos ->
+                  (case (({-# LINE 548 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                          Nothing
+                          {-# LINE 9015 "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 179 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIvarBeingDefined
+                                                {-# LINE 9037 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _exprOvarBeingDefined ->
+                                         (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopes
+                                                 {-# LINE 9042 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _exprOscopes ->
+                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIisMeta
+                                                  {-# LINE 9047 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _exprOisMeta ->
+                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIconfig
+                                                   {-# LINE 9052 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _exprOconfig ->
+                                            (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIvariableStyle
+                                                    {-# LINE 9057 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _exprOvariableStyle ->
+                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIscopeLevel
+                                                     {-# LINE 9062 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _exprOscopeLevel ->
+                                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsImtokenPos
+                                                      {-# LINE 9067 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _exprOmtokenPos ->
+                                               (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIloopLevel
+                                                       {-# LINE 9072 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _exprOloopLevel ->
+                                                (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIisNegation
+                                                        {-# LINE 9077 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _exprOisNegation ->
+                                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIisInModule
+                                                         {-# LINE 9082 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _exprOisInModule ->
+                                                  (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIglobalDefinitions
+                                                          {-# LINE 9087 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _exprOglobalDefinitions ->
+                                                   (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lhsIfuncName
+                                                           {-# LINE 9092 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _exprOfuncName ->
+                                                    (case (({-# LINE 551 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            True
+                                                            {-# LINE 9097 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _exprOtopLevel ->
+                                                     (case (({-# LINE 550 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             True
+                                                             {-# LINE 9102 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _exprIscopes
+                                                                   {-# LINE 9109 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _suffixesOscopes ->
+                                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIisMeta
+                                                                    {-# LINE 9114 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _suffixesOisMeta ->
+                                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _exprIisInModule
+                                                                     {-# LINE 9119 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _suffixesOisInModule ->
+                                                              (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _exprIglobalDefinitions
+                                                                      {-# LINE 9124 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _suffixesOglobalDefinitions ->
+                                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIconfig
+                                                                       {-# LINE 9129 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _suffixesOconfig ->
+                                                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _exprIvariableStyle
+                                                                        {-# LINE 9134 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _suffixesOvariableStyle ->
+                                                                 (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIscopeLevel
+                                                                         {-# LINE 9139 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _suffixesOscopeLevel ->
+                                                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _exprImtokenPos
+                                                                          {-# LINE 9144 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _suffixesOmtokenPos ->
+                                                                   (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _lhsIloopLevel
+                                                                           {-# LINE 9149 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _suffixesOloopLevel ->
+                                                                    (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            _lhsIfuncName
+                                                                            {-# LINE 9154 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _suffixesIglobalDefinitions
+                                                                                  {-# LINE 9161 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOglobalDefinitions ->
+                                                                           (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   (const _exprIidentifier _suffixesIidentifier)
+                                                                                   {-# LINE 9166 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOidentifier ->
+                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _suffixesIisInModule
+                                                                                    {-# LINE 9171 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOisInModule ->
+                                                                             (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _exprIisSimpleExpression && _suffixesIisSimpleExpression
+                                                                                     {-# LINE 9176 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOisSimpleExpression ->
+                                                                              (case (({-# LINE 547 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      Nothing
+                                                                                      {-# LINE 9181 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOisSingleVar ->
+                                                                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _suffixesIscopes
+                                                                                       {-# LINE 9186 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _lhsOscopes ->
+                                                                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        _suffixesIvariableStyle
+                                                                                        {-# LINE 9191 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _lhsOvariableStyle ->
+                                                                                 (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         _exprIwarnings ++ _suffixesIwarnings
+                                                                                         {-# LINE 9196 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _warnings_augmented_syn ->
+                                                                                  (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          if lint_redundantParentheses _lhsIconfig && null _suffixesIcopy && (_lhsIinParentheses || (not _lhsItopLevel && _exprIisSimpleExpression))
+                                                                                          then (:) $ warn _lhsImtokenPos UnnecessaryParentheses
+                                                                                          else id
+                                                                                          {-# LINE 9203 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _warnings_augmented_f1 ->
+                                                                                   (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                           {-# LINE 9208 "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) }) }) }) }) }) }) }) })
+-- 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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 Def _varsIcopy
+                 {-# LINE 9278 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 9283 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 9300 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _varsOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 9305 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _varsOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 9310 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _varsOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 9315 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _varsOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 9320 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _varsOconfig ->
+                                     (case (({-# LINE 315 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             False
+                                             {-# LINE 9325 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _varsOlocalDefinition ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 9330 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _varsOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 9335 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _varsOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 9340 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _varsOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 9345 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _varsOloopLevel ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 9350 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _varsIglobalDefinitions
+                                                        {-# LINE 9357 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOglobalDefinitions ->
+                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _varsIidentifier
+                                                         {-# LINE 9362 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOidentifier ->
+                                                  (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 9367 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisIfStatement ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _varsIisInModule
+                                                           {-# LINE 9372 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _varsImtokenPos
+                                                            {-# LINE 9377 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOmtokenPos ->
+                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _varsIscopes
+                                                             {-# LINE 9382 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOscopes ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _varsIvariableStyle
+                                                              {-# LINE 9387 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOvariableStyle ->
+                                                       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _varsIwarnings
+                                                               {-# LINE 9392 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 LocDef _varsIcopy
+                 {-# LINE 9406 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 9411 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 9428 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _varsOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 9433 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _varsOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 9438 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _varsOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 9443 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _varsOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 9448 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _varsOconfig ->
+                                     (case (({-# LINE 318 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             True
+                                             {-# LINE 9453 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _varsOlocalDefinition ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 9458 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _varsOvariableStyle ->
+                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopeLevel
+                                               {-# LINE 9463 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _varsOscopeLevel ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsImtokenPos
+                                                {-# LINE 9468 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _varsOmtokenPos ->
+                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIloopLevel
+                                                 {-# LINE 9473 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _varsOloopLevel ->
+                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIfuncName
+                                                  {-# LINE 9478 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _varsIglobalDefinitions
+                                                        {-# LINE 9485 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOglobalDefinitions ->
+                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _varsIidentifier
+                                                         {-# LINE 9490 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOidentifier ->
+                                                  (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 9495 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisIfStatement ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _varsIisInModule
+                                                           {-# LINE 9500 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _varsImtokenPos
+                                                            {-# LINE 9505 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOmtokenPos ->
+                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _varsIscopes
+                                                             {-# LINE 9510 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOscopes ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _varsIvariableStyle
+                                                              {-# LINE 9515 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOvariableStyle ->
+                                                       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _varsIwarnings
+                                                               {-# LINE 9520 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 AFuncCall _fnIcopy
+                 {-# LINE 9534 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 9539 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 9556 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _fnOscopes ->
+                                 (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisMeta
+                                         {-# LINE 9561 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _fnOisMeta ->
+                                  (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIisInModule
+                                          {-# LINE 9566 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _fnOisInModule ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIglobalDefinitions
+                                           {-# LINE 9571 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _fnOglobalDefinitions ->
+                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIconfig
+                                            {-# LINE 9576 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _fnOconfig ->
+                                     (case (({-# LINE 324 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             Nothing
+                                             {-# LINE 9581 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _fnOvarBeingDefined ->
+                                      (case (({-# LINE 321 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              True
+                                              {-# LINE 9586 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _fnOregisterVarUse ->
+                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIvariableStyle
+                                               {-# LINE 9591 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _fnOvariableStyle ->
+                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopeLevel
+                                                {-# LINE 9596 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _fnOscopeLevel ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsImtokenPos
+                                                 {-# LINE 9601 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _fnOmtokenPos ->
+                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIloopLevel
+                                                  {-# LINE 9606 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _fnOloopLevel ->
+                                           (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIfuncName
+                                                   {-# LINE 9611 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _fnOfuncName ->
+                                            (case (({-# LINE 323 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    True
+                                                    {-# LINE 9616 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _fnOtopLevel ->
+                                             (case (({-# LINE 322 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     False
+                                                     {-# LINE 9621 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _fnOinParentheses ->
+                                              (case (({-# LINE 320 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      False
+                                                      {-# LINE 9626 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _fnIglobalDefinitions
+                                                            {-# LINE 9633 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOglobalDefinitions ->
+                                                     (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _fnIidentifier
+                                                             {-# LINE 9638 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOidentifier ->
+                                                      (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              False
+                                                              {-# LINE 9643 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOisIfStatement ->
+                                                       (case (({-# LINE 325 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               (tokenLabel <$> _fnIvarName) == Just "module"
+                                                               {-# LINE 9648 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _isModuleCall ->
+                                                        (case (({-# LINE 326 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIisInModule || _isModuleCall
+                                                                {-# LINE 9653 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _lhsOisInModule ->
+                                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _fnImtokenPos
+                                                                 {-# LINE 9658 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _lhsOmtokenPos ->
+                                                          (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _fnIscopes
+                                                                  {-# LINE 9663 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _lhsOscopes ->
+                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _fnIvariableStyle
+                                                                   {-# LINE 9668 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _lhsOvariableStyle ->
+                                                            (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _fnIwarnings
+                                                                    {-# LINE 9673 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 ALabel _lblIcopy
+                 {-# LINE 9687 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 9692 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIglobalDefinitions
+                                        {-# LINE 9709 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lblOglobalDefinitions ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 9714 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lblOscopes ->
+                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsImtokenPos
+                                          {-# LINE 9719 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lblOmtokenPos ->
+                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta
+                                           {-# LINE 9724 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _lblOisMeta ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 9729 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _lblOisInModule ->
+                                     (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfuncName
+                                             {-# LINE 9734 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _lblOfuncName ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 9739 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lblIglobalDefinitions
+                                                    {-# LINE 9746 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _lhsOglobalDefinitions ->
+                                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lblIidentifier
+                                                     {-# LINE 9751 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _lhsOidentifier ->
+                                              (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      False
+                                                      {-# LINE 9756 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _lhsOisIfStatement ->
+                                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lblIisInModule
+                                                       {-# LINE 9761 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOisInModule ->
+                                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lblImtokenPos
+                                                        {-# LINE 9766 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOmtokenPos ->
+                                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lblIscopes
+                                                         {-# LINE 9771 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOscopes ->
+                                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIvariableStyle
+                                                          {-# LINE 9776 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOvariableStyle ->
+                                                   (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lblIwarnings
+                                                           {-# LINE 9781 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ABreak
+            {-# LINE 9792 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 9797 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 9814 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 9819 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     False
+                                     {-# LINE 9824 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisIfStatement ->
+                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsIisInModule
+                                      {-# LINE 9829 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisInModule ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 9834 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 9839 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 9844 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 9849 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AContinue
+            {-# LINE 9860 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 9865 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 9882 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 9887 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     False
+                                     {-# LINE 9892 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisIfStatement ->
+                              (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsIisInModule
+                                      {-# LINE 9897 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisInModule ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 9902 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 9907 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 9912 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 9917 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 AGoto _lblIcopy
+                 {-# LINE 9931 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 9936 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIglobalDefinitions
+                                        {-# LINE 9953 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lblOglobalDefinitions ->
+                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIscopes
+                                         {-# LINE 9958 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lblOscopes ->
+                                  (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsImtokenPos
+                                          {-# LINE 9963 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _lblOmtokenPos ->
+                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIisMeta
+                                           {-# LINE 9968 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _lblOisMeta ->
+                                    (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            _lhsIisInModule
+                                            {-# LINE 9973 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _lblOisInModule ->
+                                     (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIfuncName
+                                             {-# LINE 9978 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _lblOfuncName ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 9983 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lblIglobalDefinitions
+                                                    {-# LINE 9990 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _lhsOglobalDefinitions ->
+                                             (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lblIidentifier
+                                                     {-# LINE 9995 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _lhsOidentifier ->
+                                              (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      False
+                                                      {-# LINE 10000 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _lhsOisIfStatement ->
+                                               (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lblIisInModule
+                                                       {-# LINE 10005 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _lhsOisInModule ->
+                                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lblImtokenPos
+                                                        {-# LINE 10010 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOmtokenPos ->
+                                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lblIscopes
+                                                         {-# LINE 10015 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOscopes ->
+                                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIvariableStyle
+                                                          {-# LINE 10020 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOvariableStyle ->
+                                                   (case (({-# LINE 331 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lblIwarnings
+                                                           {-# LINE 10025 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _warnings_augmented_syn ->
+                                                    (case (({-# LINE 331 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            if not (lint_gotos _lhsIconfig) || _lhsIloopLevel >= 2 then id else
+                                                              (:) $ warn _lblImtokenPos AvoidGoto
+                                                            {-# LINE 10031 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _warnings_augmented_f1 ->
+                                                     (case (({-# LINE 331 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                             {-# LINE 10036 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                 ADo _bodyIcopy
+                 {-# LINE 10050 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                  _copy
+                  {-# LINE 10055 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIisMeta
+                                        {-# LINE 10072 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _bodyOisMeta ->
+                                 (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIisInModule
+                                         {-# LINE 10077 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _bodyOisInModule ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          _lhsIglobalDefinitions
+                                          {-# LINE 10082 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                          )) of
+                                   { _bodyOglobalDefinitions ->
+                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                           _lhsIconfig
+                                           {-# LINE 10087 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                           )) of
+                                    { _bodyOconfig ->
+                                    (case (({-# LINE 335 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                            M.empty : _lhsIscopes
+                                            {-# LINE 10092 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                            )) of
+                                     { _bodyOscopes ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIvariableStyle
+                                             {-# LINE 10097 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _bodyOvariableStyle ->
+                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIscopeLevel
+                                              {-# LINE 10102 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _bodyOscopeLevel ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsImtokenPos
+                                               {-# LINE 10107 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _bodyOmtokenPos ->
+                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIloopLevel
+                                                {-# LINE 10112 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _bodyOloopLevel ->
+                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIfuncName
+                                                 {-# LINE 10117 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _bodyOfuncName ->
+                                          (case (({-# LINE 336 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  False
+                                                  {-# LINE 10122 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _bodyIglobalDefinitions
+                                                        {-# LINE 10129 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOglobalDefinitions ->
+                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _bodyIidentifier
+                                                         {-# LINE 10134 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOidentifier ->
+                                                  (case (({-# LINE 334 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 10139 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _lhsOisIfStatement ->
+                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _bodyIisInModule
+                                                           {-# LINE 10144 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _lhsOisInModule ->
+                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _bodyImtokenPos
+                                                            {-# LINE 10149 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _lhsOmtokenPos ->
+                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _bodyIscopes
+                                                             {-# LINE 10154 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOscopes ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _bodyIvariableStyle
+                                                              {-# LINE 10159 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _lhsOvariableStyle ->
+                                                       (case (({-# LINE 337 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _bodyIwarnings
+                                                               {-# LINE 10164 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _warnings_augmented_syn ->
+                                                        (case (({-# LINE 337 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
+                                                                  (:) $ warn _lhsImtokenPos EmptyDoBlock
+                                                                {-# LINE 10170 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _warnings_augmented_f1 ->
+                                                         (case (({-# LINE 337 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                 {-# LINE 10175 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      AWhile _condIcopy _bodyIcopy
+                      {-# LINE 10192 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 10197 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisMeta
+                                             {-# LINE 10214 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _bodyOisMeta ->
+                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisInModule
+                                              {-# LINE 10219 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _condOisInModule ->
+                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIvariableStyle
+                                               {-# LINE 10224 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _condOvariableStyle ->
+                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopes
+                                                {-# LINE 10229 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _condOscopes ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 10234 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _condOscopeLevel ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsImtokenPos
+                                                  {-# LINE 10239 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _condOmtokenPos ->
+                                           (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIloopLevel
+                                                   {-# LINE 10244 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _condOloopLevel ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisMeta
+                                                    {-# LINE 10249 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _condOisMeta ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 10254 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _condOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 10259 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _condOfuncName ->
+                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIconfig
+                                                       {-# LINE 10264 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _condOconfig ->
+                                                (case (({-# LINE 345 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        Nothing
+                                                        {-# LINE 10269 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _condOvarBeingDefined ->
+                                                 (case (({-# LINE 344 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         True
+                                                         {-# LINE 10274 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _condOtopLevel ->
+                                                  (case (({-# LINE 343 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          False
+                                                          {-# LINE 10279 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _condOinParentheses ->
+                                                   (case (({-# LINE 342 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           False
+                                                           {-# LINE 10284 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _condIisInModule
+                                                                 {-# LINE 10291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _bodyOisInModule ->
+                                                          (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _condIglobalDefinitions
+                                                                  {-# LINE 10296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _bodyOglobalDefinitions ->
+                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIconfig
+                                                                   {-# LINE 10301 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _bodyOconfig ->
+                                                            (case (({-# LINE 347 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    M.empty : _condIscopes
+                                                                    {-# LINE 10306 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _bodyOscopes ->
+                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _condIvariableStyle
+                                                                     {-# LINE 10311 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _bodyOvariableStyle ->
+                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIscopeLevel
+                                                                      {-# LINE 10316 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _bodyOscopeLevel ->
+                                                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _condImtokenPos
+                                                                       {-# LINE 10321 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _bodyOmtokenPos ->
+                                                                (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _lhsIfuncName
+                                                                        {-# LINE 10326 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _bodyOfuncName ->
+                                                                 (case (({-# LINE 346 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         False
+                                                                         {-# LINE 10331 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _bodyOisRepeat ->
+                                                                  (case (({-# LINE 341 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _lhsIloopLevel + 1
+                                                                          {-# LINE 10336 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _bodyIglobalDefinitions
+                                                                                {-# LINE 10343 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOglobalDefinitions ->
+                                                                         (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 (const _condIidentifier _bodyIidentifier)
+                                                                                 {-# LINE 10348 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOidentifier ->
+                                                                          (case (({-# LINE 340 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  False
+                                                                                  {-# LINE 10353 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisIfStatement ->
+                                                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _bodyIisInModule
+                                                                                   {-# LINE 10358 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOisInModule ->
+                                                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _bodyImtokenPos
+                                                                                    {-# LINE 10363 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOmtokenPos ->
+                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _bodyIscopes
+                                                                                     {-# LINE 10368 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOscopes ->
+                                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _bodyIvariableStyle
+                                                                                      {-# LINE 10373 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOvariableStyle ->
+                                                                               (case (({-# LINE 348 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _condIwarnings ++ _bodyIwarnings
+                                                                                       {-# LINE 10378 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _warnings_augmented_syn ->
+                                                                                (case (({-# LINE 348 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
+                                                                                          (:) $ warn _lhsImtokenPos EmptyWhileLoop
+                                                                                        {-# LINE 10384 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _warnings_augmented_f1 ->
+                                                                                 (case (({-# LINE 348 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                         {-# LINE 10389 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      ARepeat _bodyIcopy _condIcopy
+                      {-# LINE 10406 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 10411 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisMeta
+                                             {-# LINE 10428 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _bodyOisMeta ->
+                                      (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIconfig
+                                              {-# LINE 10433 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _bodyOconfig ->
+                                       (case (({-# LINE 359 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               M.empty : _lhsIscopes
+                                               {-# LINE 10438 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _bodyOscopes ->
+                                        (case (({-# LINE 358 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                True
+                                                {-# LINE 10443 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _bodyOisRepeat ->
+                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIvariableStyle
+                                                 {-# LINE 10448 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _bodyOvariableStyle ->
+                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIscopeLevel
+                                                  {-# LINE 10453 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _bodyOscopeLevel ->
+                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsImtokenPos
+                                                   {-# LINE 10458 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _bodyOmtokenPos ->
+                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisInModule
+                                                    {-# LINE 10463 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _bodyOisInModule ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 10468 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _bodyOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 10473 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _bodyOfuncName ->
+                                               (case (({-# LINE 353 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIloopLevel + 1
+                                                       {-# LINE 10478 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _bodyIscopes
+                                                             {-# LINE 10485 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _condOscopes ->
+                                                      (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _lhsIisMeta
+                                                              {-# LINE 10490 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _condOisMeta ->
+                                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _bodyIisInModule
+                                                               {-# LINE 10495 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _condOisInModule ->
+                                                        (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _bodyIglobalDefinitions
+                                                                {-# LINE 10500 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _condOglobalDefinitions ->
+                                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIconfig
+                                                                 {-# LINE 10505 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _condOconfig ->
+                                                          (case (({-# LINE 357 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  Nothing
+                                                                  {-# LINE 10510 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _condOvarBeingDefined ->
+                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _bodyIvariableStyle
+                                                                   {-# LINE 10515 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _condOvariableStyle ->
+                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIscopeLevel
+                                                                    {-# LINE 10520 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _condOscopeLevel ->
+                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _bodyImtokenPos
+                                                                     {-# LINE 10525 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _condOmtokenPos ->
+                                                              (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIloopLevel
+                                                                      {-# LINE 10530 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _condOloopLevel ->
+                                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIfuncName
+                                                                       {-# LINE 10535 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _condOfuncName ->
+                                                                (case (({-# LINE 356 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        True
+                                                                        {-# LINE 10540 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _condOtopLevel ->
+                                                                 (case (({-# LINE 355 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         False
+                                                                         {-# LINE 10545 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _condOinParentheses ->
+                                                                  (case (({-# LINE 354 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          False
+                                                                          {-# LINE 10550 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _condIglobalDefinitions
+                                                                                {-# LINE 10557 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOglobalDefinitions ->
+                                                                         (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 (const _bodyIidentifier _condIidentifier)
+                                                                                 {-# LINE 10562 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOidentifier ->
+                                                                          (case (({-# LINE 352 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  False
+                                                                                  {-# LINE 10567 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisIfStatement ->
+                                                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _condIisInModule
+                                                                                   {-# LINE 10572 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOisInModule ->
+                                                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _condImtokenPos
+                                                                                    {-# LINE 10577 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOmtokenPos ->
+                                                                             (case (({-# LINE 360 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     tail _condIscopes
+                                                                                     {-# LINE 10582 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOscopes ->
+                                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _condIvariableStyle
+                                                                                      {-# LINE 10587 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOvariableStyle ->
+                                                                               (case (({-# LINE 361 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _bodyIwarnings ++ _condIwarnings
+                                                                                       {-# LINE 10592 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _warnings_augmented_syn ->
+                                                                                (case (({-# LINE 361 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
+                                                                                          (:) $ warn _lhsImtokenPos EmptyRepeat
+                                                                                        {-# LINE 10598 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _warnings_augmented_f1 ->
+                                                                                 (case (({-# LINE 361 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                         {-# LINE 10603 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy
+                                {-# LINE 10626 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                )) of
+                         { _copy ->
+                         (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                 _copy
+                                 {-# LINE 10631 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIisMeta
+                                                       {-# LINE 10648 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _bodyOisMeta ->
+                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        _lhsIconfig
+                                                        {-# LINE 10653 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _bodyOconfig ->
+                                                 (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         _lhsIscopes
+                                                         {-# LINE 10658 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                         )) of
+                                                  { _condOscopes ->
+                                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                          _lhsIisMeta
+                                                          {-# LINE 10663 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                          )) of
+                                                   { _condOisMeta ->
+                                                   (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                           _lhsIconfig
+                                                           {-# LINE 10668 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                           )) of
+                                                    { _condOconfig ->
+                                                    (case (({-# LINE 374 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            False
+                                                            {-# LINE 10673 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _bodyOisRepeat ->
+                                                     (case (({-# LINE 372 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             Nothing
+                                                             {-# LINE 10678 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _condOvarBeingDefined ->
+                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _lhsIvariableStyle
+                                                              {-# LINE 10683 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _condOvariableStyle ->
+                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsIscopeLevel
+                                                               {-# LINE 10688 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _condOscopeLevel ->
+                                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsImtokenPos
+                                                                {-# LINE 10693 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _condOmtokenPos ->
+                                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIloopLevel
+                                                                 {-# LINE 10698 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _condOloopLevel ->
+                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIisInModule
+                                                                  {-# LINE 10703 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _condOisInModule ->
+                                                           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIglobalDefinitions
+                                                                   {-# LINE 10708 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _condOglobalDefinitions ->
+                                                            (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIfuncName
+                                                                    {-# LINE 10713 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _condOfuncName ->
+                                                             (case (({-# LINE 371 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     True
+                                                                     {-# LINE 10718 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _condOtopLevel ->
+                                                              (case (({-# LINE 370 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      False
+                                                                      {-# LINE 10723 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _condOinParentheses ->
+                                                               (case (({-# LINE 369 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       False
+                                                                       {-# LINE 10728 "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 373 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             M.empty : _condIscopes
+                                                                             {-# LINE 10735 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _bodyOscopes ->
+                                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _condIvariableStyle
+                                                                              {-# LINE 10740 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _bodyOvariableStyle ->
+                                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _lhsIscopeLevel
+                                                                               {-# LINE 10745 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _bodyOscopeLevel ->
+                                                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _condImtokenPos
+                                                                                {-# LINE 10750 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _bodyOmtokenPos ->
+                                                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _lhsIloopLevel
+                                                                                 {-# LINE 10755 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _bodyOloopLevel ->
+                                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _condIisInModule
+                                                                                  {-# LINE 10760 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _bodyOisInModule ->
+                                                                           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _condIglobalDefinitions
+                                                                                   {-# LINE 10765 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _bodyOglobalDefinitions ->
+                                                                            (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _lhsIfuncName
+                                                                                    {-# LINE 10770 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          _bodyIscopes
+                                                                                          {-# LINE 10777 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _elifsOscopes ->
+                                                                                   (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           _lhsIisMeta
+                                                                                           {-# LINE 10782 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                           )) of
+                                                                                    { _elifsOisMeta ->
+                                                                                    (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            _lhsIconfig
+                                                                                            {-# LINE 10787 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                            )) of
+                                                                                     { _elifsOconfig ->
+                                                                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                             _bodyIvariableStyle
+                                                                                             {-# LINE 10792 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                             )) of
+                                                                                      { _elifsOvariableStyle ->
+                                                                                      (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                              _lhsIscopeLevel
+                                                                                              {-# LINE 10797 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                              )) of
+                                                                                       { _elifsOscopeLevel ->
+                                                                                       (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                               _lhsIloopLevel
+                                                                                               {-# LINE 10802 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                               )) of
+                                                                                        { _elifsOloopLevel ->
+                                                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                _bodyIisInModule
+                                                                                                {-# LINE 10807 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                )) of
+                                                                                         { _elifsOisInModule ->
+                                                                                         (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                 _bodyIglobalDefinitions
+                                                                                                 {-# LINE 10812 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                 )) of
+                                                                                          { _elifsOglobalDefinitions ->
+                                                                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                  _lhsIfuncName
+                                                                                                  {-# LINE 10817 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                  )) of
+                                                                                           { _elifsOfuncName ->
+                                                                                           (case (({-# LINE 375 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                   _lhsImtokenPos
+                                                                                                   {-# LINE 10822 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                         _elifsIscopes
+                                                                                                         {-# LINE 10829 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                         )) of
+                                                                                                  { _elsOscopes ->
+                                                                                                  (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                          _lhsIisMeta
+                                                                                                          {-# LINE 10834 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                          )) of
+                                                                                                   { _elsOisMeta ->
+                                                                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                           _elifsIisInModule
+                                                                                                           {-# LINE 10839 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                           )) of
+                                                                                                    { _elsOisInModule ->
+                                                                                                    (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                            _elifsIglobalDefinitions
+                                                                                                            {-# LINE 10844 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                            )) of
+                                                                                                     { _elsOglobalDefinitions ->
+                                                                                                     (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                             _lhsIconfig
+                                                                                                             {-# LINE 10849 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                             )) of
+                                                                                                      { _elsOconfig ->
+                                                                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                              _elifsIvariableStyle
+                                                                                                              {-# LINE 10854 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                              )) of
+                                                                                                       { _elsOvariableStyle ->
+                                                                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                               _lhsIscopeLevel
+                                                                                                               {-# LINE 10859 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                               )) of
+                                                                                                        { _elsOscopeLevel ->
+                                                                                                        (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                _lhsIloopLevel
+                                                                                                                {-# LINE 10864 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                )) of
+                                                                                                         { _elsOloopLevel ->
+                                                                                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                 _lhsIfuncName
+                                                                                                                 {-# LINE 10869 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                 )) of
+                                                                                                          { _elsOfuncName ->
+                                                                                                          (case (({-# LINE 376 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                  _lhsImtokenPos
+                                                                                                                  {-# LINE 10874 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                        _elsIglobalDefinitions
+                                                                                                                        {-# LINE 10881 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                        )) of
+                                                                                                                 { _lhsOglobalDefinitions ->
+                                                                                                                 (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                         (const _condIidentifier (const _bodyIidentifier (const _elifsIidentifier _elsIidentifier)))
+                                                                                                                         {-# LINE 10886 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                         )) of
+                                                                                                                  { _lhsOidentifier ->
+                                                                                                                  (case (({-# LINE 368 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                          not _elifsIelseExists && not _elsIelseExists
+                                                                                                                          {-# LINE 10891 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                          )) of
+                                                                                                                   { _lhsOisIfStatement ->
+                                                                                                                   (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                           _elsIisInModule
+                                                                                                                           {-# LINE 10896 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                           )) of
+                                                                                                                    { _lhsOisInModule ->
+                                                                                                                    (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                            _elsImtokenPos
+                                                                                                                            {-# LINE 10901 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                            )) of
+                                                                                                                     { _lhsOmtokenPos ->
+                                                                                                                     (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                             _elsIscopes
+                                                                                                                             {-# LINE 10906 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                             )) of
+                                                                                                                      { _lhsOscopes ->
+                                                                                                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                              _elsIvariableStyle
+                                                                                                                              {-# LINE 10911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                              )) of
+                                                                                                                       { _lhsOvariableStyle ->
+                                                                                                                       (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                               _condIwarnings ++ _bodyIwarnings ++ _elifsIwarnings ++ _elsIwarnings
+                                                                                                                               {-# LINE 10916 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                               )) of
+                                                                                                                        { _warnings_augmented_syn ->
+                                                                                                                        (case (({-# LINE 377 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                case (_elifsIelseExists, _elsIelseExists) of
+                                                                                                                                    (False, False) -> _lhsImtokenPos
+                                                                                                                                    (True, _) -> Region (rgStart _lhsImtokenPos) (rgStart _elifsImtokenPos)
+                                                                                                                                    (False, True) -> Region (rgStart _lhsImtokenPos) (rgStart _elsImtokenPos)
+                                                                                                                                {-# LINE 10924 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                )) of
+                                                                                                                         { _ifBlockPos ->
+                                                                                                                         (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                 if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
+                                                                                                                                   (:) $ warn _ifBlockPos     EmptyIf
+                                                                                                                                 {-# LINE 10930 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                 )) of
+                                                                                                                          { _warnings_augmented_f2 ->
+                                                                                                                          (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                  if not (lint_redundantIfStatements _lhsIconfig) || _bodyIstatementCount /= 1 || not _bodyIisIfStatement || _elifsIelseExists || _elsIelseExists then id else
+                                                                                                                                    (:) $ warn _bodyImtokenPos DoubleIf
+                                                                                                                                  {-# LINE 10936 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                  )) of
+                                                                                                                           { _warnings_augmented_f1 ->
+                                                                                                                           (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                   foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                   {-# LINE 10941 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     ANFor _varIcopy _valIcopy _toIcopy _stepIcopy _bodyIcopy
+                                     {-# LINE 10967 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _copy ->
+                              (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _copy
+                                      {-# LINE 10972 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                            _lhsIisMeta
+                                                            {-# LINE 10989 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                            )) of
+                                                     { _bodyOisMeta ->
+                                                     (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _lhsIisInModule
+                                                             {-# LINE 10994 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _varOisInModule ->
+                                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _lhsIscopes
+                                                              {-# LINE 10999 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _varOscopes ->
+                                                       (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsImtokenPos
+                                                               {-# LINE 11004 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _varOmtokenPos ->
+                                                        (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _lhsIisMeta
+                                                                {-# LINE 11009 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _varOisMeta ->
+                                                         (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIglobalDefinitions
+                                                                 {-# LINE 11014 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _varOglobalDefinitions ->
+                                                          (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIfuncName
+                                                                  {-# LINE 11019 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _varOfuncName ->
+                                                           (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _lhsIconfig
+                                                                   {-# LINE 11024 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _varIisInModule
+                                                                         {-# LINE 11031 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _valOisInModule ->
+                                                                  (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          _lhsIvariableStyle
+                                                                          {-# LINE 11036 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                          )) of
+                                                                   { _valOvariableStyle ->
+                                                                   (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                           _varIscopes
+                                                                           {-# LINE 11041 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                           )) of
+                                                                    { _valOscopes ->
+                                                                    (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                            _lhsIscopeLevel
+                                                                            {-# LINE 11046 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                            )) of
+                                                                     { _valOscopeLevel ->
+                                                                     (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _varImtokenPos
+                                                                             {-# LINE 11051 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _valOmtokenPos ->
+                                                                      (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              _lhsIloopLevel
+                                                                              {-# LINE 11056 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _valOloopLevel ->
+                                                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _lhsIisMeta
+                                                                               {-# LINE 11061 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _valOisMeta ->
+                                                                        (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _varIglobalDefinitions
+                                                                                {-# LINE 11066 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _valOglobalDefinitions ->
+                                                                         (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _lhsIfuncName
+                                                                                 {-# LINE 11071 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _valOfuncName ->
+                                                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _lhsIconfig
+                                                                                  {-# LINE 11076 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _valOconfig ->
+                                                                           (case (({-# LINE 400 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   Nothing
+                                                                                   {-# LINE 11081 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _valOvarBeingDefined ->
+                                                                            (case (({-# LINE 399 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    True
+                                                                                    {-# LINE 11086 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _valOtopLevel ->
+                                                                             (case (({-# LINE 398 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     False
+                                                                                     {-# LINE 11091 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _valOinParentheses ->
+                                                                              (case (({-# LINE 397 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      False
+                                                                                      {-# LINE 11096 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            _valIisInModule
+                                                                                            {-# LINE 11103 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                            )) of
+                                                                                     { _toOisInModule ->
+                                                                                     (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                             _valIvariableStyle
+                                                                                             {-# LINE 11108 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                             )) of
+                                                                                      { _toOvariableStyle ->
+                                                                                      (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                              _valIscopes
+                                                                                              {-# LINE 11113 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                              )) of
+                                                                                       { _toOscopes ->
+                                                                                       (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                               _lhsIscopeLevel
+                                                                                               {-# LINE 11118 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                               )) of
+                                                                                        { _toOscopeLevel ->
+                                                                                        (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                _valImtokenPos
+                                                                                                {-# LINE 11123 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                )) of
+                                                                                         { _toOmtokenPos ->
+                                                                                         (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                 _lhsIloopLevel
+                                                                                                 {-# LINE 11128 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                 )) of
+                                                                                          { _toOloopLevel ->
+                                                                                          (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                  _lhsIisMeta
+                                                                                                  {-# LINE 11133 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                  )) of
+                                                                                           { _toOisMeta ->
+                                                                                           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                   _valIglobalDefinitions
+                                                                                                   {-# LINE 11138 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                   )) of
+                                                                                            { _toOglobalDefinitions ->
+                                                                                            (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                    _lhsIfuncName
+                                                                                                    {-# LINE 11143 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                    )) of
+                                                                                             { _toOfuncName ->
+                                                                                             (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                     _lhsIconfig
+                                                                                                     {-# LINE 11148 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                     )) of
+                                                                                              { _toOconfig ->
+                                                                                              (case (({-# LINE 404 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                      Nothing
+                                                                                                      {-# LINE 11153 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                      )) of
+                                                                                               { _toOvarBeingDefined ->
+                                                                                               (case (({-# LINE 403 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                       True
+                                                                                                       {-# LINE 11158 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                       )) of
+                                                                                                { _toOtopLevel ->
+                                                                                                (case (({-# LINE 402 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                        False
+                                                                                                        {-# LINE 11163 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                        )) of
+                                                                                                 { _toOinParentheses ->
+                                                                                                 (case (({-# LINE 401 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                         False
+                                                                                                         {-# LINE 11168 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                               _toIisInModule
+                                                                                                               {-# LINE 11175 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                               )) of
+                                                                                                        { _stepOisInModule ->
+                                                                                                        (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                _toIvariableStyle
+                                                                                                                {-# LINE 11180 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                )) of
+                                                                                                         { _stepOvariableStyle ->
+                                                                                                         (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                 _toIscopes
+                                                                                                                 {-# LINE 11185 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                 )) of
+                                                                                                          { _stepOscopes ->
+                                                                                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                  _lhsIscopeLevel
+                                                                                                                  {-# LINE 11190 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                  )) of
+                                                                                                           { _stepOscopeLevel ->
+                                                                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                   _toImtokenPos
+                                                                                                                   {-# LINE 11195 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                   )) of
+                                                                                                            { _stepOmtokenPos ->
+                                                                                                            (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                    _lhsIloopLevel
+                                                                                                                    {-# LINE 11200 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                    )) of
+                                                                                                             { _stepOloopLevel ->
+                                                                                                             (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                     _lhsIisMeta
+                                                                                                                     {-# LINE 11205 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                     )) of
+                                                                                                              { _stepOisMeta ->
+                                                                                                              (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                      _toIglobalDefinitions
+                                                                                                                      {-# LINE 11210 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                      )) of
+                                                                                                               { _stepOglobalDefinitions ->
+                                                                                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                       _lhsIfuncName
+                                                                                                                       {-# LINE 11215 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                       )) of
+                                                                                                                { _stepOfuncName ->
+                                                                                                                (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                        _lhsIconfig
+                                                                                                                        {-# LINE 11220 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                        )) of
+                                                                                                                 { _stepOconfig ->
+                                                                                                                 (case (({-# LINE 409 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                         Nothing
+                                                                                                                         {-# LINE 11225 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                         )) of
+                                                                                                                  { _stepOvarBeingDefined ->
+                                                                                                                  (case (({-# LINE 408 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                          True
+                                                                                                                          {-# LINE 11230 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                          )) of
+                                                                                                                   { _stepOtopLevel ->
+                                                                                                                   (case (({-# LINE 407 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                           False
+                                                                                                                           {-# LINE 11235 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                           )) of
+                                                                                                                    { _stepOinParentheses ->
+                                                                                                                    (case (({-# LINE 406 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                            False
+                                                                                                                            {-# LINE 11240 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                  _stepIisInModule
+                                                                                                                                  {-# LINE 11247 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                  )) of
+                                                                                                                           { _bodyOisInModule ->
+                                                                                                                           (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                   _stepIglobalDefinitions
+                                                                                                                                   {-# LINE 11252 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                   )) of
+                                                                                                                            { _bodyOglobalDefinitions ->
+                                                                                                                            (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                    _lhsIconfig
+                                                                                                                                    {-# LINE 11257 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                    )) of
+                                                                                                                             { _bodyOconfig ->
+                                                                                                                             (case (({-# LINE 410 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                     M.singleton _varIidentifier (not (lint_unusedLoopVars _lhsIconfig), _varImtokenPos) : _stepIscopes
+                                                                                                                                     {-# LINE 11262 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                     )) of
+                                                                                                                              { _bodyOscopes ->
+                                                                                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                      _stepIvariableStyle
+                                                                                                                                      {-# LINE 11267 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                      )) of
+                                                                                                                               { _bodyOvariableStyle ->
+                                                                                                                               (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                       _lhsIscopeLevel
+                                                                                                                                       {-# LINE 11272 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                       )) of
+                                                                                                                                { _bodyOscopeLevel ->
+                                                                                                                                (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                        _stepImtokenPos
+                                                                                                                                        {-# LINE 11277 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                        )) of
+                                                                                                                                 { _bodyOmtokenPos ->
+                                                                                                                                 (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                         _lhsIfuncName
+                                                                                                                                         {-# LINE 11282 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                         )) of
+                                                                                                                                  { _bodyOfuncName ->
+                                                                                                                                  (case (({-# LINE 405 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                          False
+                                                                                                                                          {-# LINE 11287 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                          )) of
+                                                                                                                                   { _bodyOisRepeat ->
+                                                                                                                                   (case (({-# LINE 396 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                           _lhsIloopLevel + 1
+                                                                                                                                           {-# LINE 11292 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                 _bodyIglobalDefinitions
+                                                                                                                                                 {-# LINE 11299 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                 )) of
+                                                                                                                                          { _lhsOglobalDefinitions ->
+                                                                                                                                          (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                  (const _varIidentifier (const _valIidentifier (const _toIidentifier (const _stepIidentifier _bodyIidentifier))))
+                                                                                                                                                  {-# LINE 11304 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                  )) of
+                                                                                                                                           { _lhsOidentifier ->
+                                                                                                                                           (case (({-# LINE 395 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                   False
+                                                                                                                                                   {-# LINE 11309 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                   )) of
+                                                                                                                                            { _lhsOisIfStatement ->
+                                                                                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                    _bodyIisInModule
+                                                                                                                                                    {-# LINE 11314 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                    )) of
+                                                                                                                                             { _lhsOisInModule ->
+                                                                                                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                     _bodyImtokenPos
+                                                                                                                                                     {-# LINE 11319 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                     )) of
+                                                                                                                                              { _lhsOmtokenPos ->
+                                                                                                                                              (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                      _bodyIscopes
+                                                                                                                                                      {-# LINE 11324 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                      )) of
+                                                                                                                                               { _lhsOscopes ->
+                                                                                                                                               (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                       _bodyIvariableStyle
+                                                                                                                                                       {-# LINE 11329 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                       )) of
+                                                                                                                                                { _lhsOvariableStyle ->
+                                                                                                                                                (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                        _varIwarnings ++ _valIwarnings ++ _toIwarnings ++ _stepIwarnings ++ _bodyIwarnings
+                                                                                                                                                        {-# LINE 11334 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                        )) of
+                                                                                                                                                 { _warnings_augmented_syn ->
+                                                                                                                                                 (case (({-# LINE 411 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                         checkShadows _lhsIscopes _varIcopy
+                                                                                                                                                         {-# LINE 11339 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                         )) of
+                                                                                                                                                  { _shadowWarning ->
+                                                                                                                                                  (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                          if not (lint_shadowing _lhsIconfig) || isNothing _shadowWarning     then id else
+                                                                                                                                                            (:) . fromMaybe (error "fromMaybe ANFor +warnings") $ _shadowWarning
+                                                                                                                                                          {-# LINE 11345 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                          )) of
+                                                                                                                                                   { _warnings_augmented_f2 ->
+                                                                                                                                                   (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                           if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
+                                                                                                                                                             (:) $ warn _lhsImtokenPos EmptyFor
+                                                                                                                                                           {-# LINE 11351 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                                                                                           )) of
+                                                                                                                                                    { _warnings_augmented_f1 ->
+                                                                                                                                                    (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                                                                                            foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                                                                                            {-# LINE 11356 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      AGFor vars_ _valsIcopy _bodyIcopy
+                      {-# LINE 11374 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 11379 "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 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisMeta
+                                             {-# LINE 11396 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _bodyOisMeta ->
+                                      (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIisInModule
+                                              {-# LINE 11401 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _valsOisInModule ->
+                                       (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIvariableStyle
+                                               {-# LINE 11406 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _valsOvariableStyle ->
+                                        (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopes
+                                                {-# LINE 11411 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _valsOscopes ->
+                                         (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIscopeLevel
+                                                 {-# LINE 11416 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _valsOscopeLevel ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsImtokenPos
+                                                  {-# LINE 11421 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _valsOmtokenPos ->
+                                           (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsIloopLevel
+                                                   {-# LINE 11426 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _valsOloopLevel ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIisMeta
+                                                    {-# LINE 11431 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _valsOisMeta ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 11436 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _valsOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 11441 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _valsOfuncName ->
+                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIconfig
+                                                       {-# LINE 11446 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                       )) of
+                                                { _valsOconfig ->
+                                                (case (({-# LINE 419 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                        True
+                                                        {-# LINE 11451 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                        )) of
+                                                 { _valsOtopLevel ->
+                                                 (case (({-# LINE 418 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                         True
+                                                         {-# LINE 11456 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _valsIisInModule
+                                                               {-# LINE 11463 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _bodyOisInModule ->
+                                                        (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _valsIglobalDefinitions
+                                                                {-# LINE 11468 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _bodyOglobalDefinitions ->
+                                                         (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _lhsIconfig
+                                                                 {-# LINE 11473 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _bodyOconfig ->
+                                                          (case (({-# LINE 423 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  M.fromList $ map (\mt -> (tokenLabel mt, (not (lint_unusedLoopVars _lhsIconfig), mpos mt))) vars_
+                                                                  {-# LINE 11478 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _introduces ->
+                                                           (case (({-# LINE 424 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _introduces     : _valsIscopes
+                                                                   {-# LINE 11483 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _bodyOscopes ->
+                                                            (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _valsIvariableStyle
+                                                                    {-# LINE 11488 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _bodyOvariableStyle ->
+                                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIscopeLevel
+                                                                     {-# LINE 11493 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _bodyOscopeLevel ->
+                                                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _valsImtokenPos
+                                                                      {-# LINE 11498 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _bodyOmtokenPos ->
+                                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIfuncName
+                                                                       {-# LINE 11503 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _bodyOfuncName ->
+                                                                (case (({-# LINE 421 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        False
+                                                                        {-# LINE 11508 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _bodyOisRepeat ->
+                                                                 (case (({-# LINE 420 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _lhsIloopLevel + 1
+                                                                         {-# LINE 11513 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _bodyIglobalDefinitions
+                                                                               {-# LINE 11520 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOglobalDefinitions ->
+                                                                        (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                (const _valsIidentifier _bodyIidentifier)
+                                                                                {-# LINE 11525 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOidentifier ->
+                                                                         (case (({-# LINE 417 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 False
+                                                                                 {-# LINE 11530 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOisIfStatement ->
+                                                                          (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _bodyIisInModule
+                                                                                  {-# LINE 11535 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisInModule ->
+                                                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _bodyImtokenPos
+                                                                                   {-# LINE 11540 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOmtokenPos ->
+                                                                            (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _bodyIscopes
+                                                                                    {-# LINE 11545 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOscopes ->
+                                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _bodyIvariableStyle
+                                                                                     {-# LINE 11550 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOvariableStyle ->
+                                                                              (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _valsIwarnings ++ _bodyIwarnings
+                                                                                      {-# LINE 11555 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _warnings_augmented_syn ->
+                                                                               (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       if not (lint_shadowing _lhsIconfig) then id else
+                                                                                         (++) . catMaybes . map (checkShadows _lhsIscopes) $ vars_
+                                                                                       {-# LINE 11561 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _warnings_augmented_f2 ->
+                                                                                (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else
+                                                                                          (:) $ warn _lhsImtokenPos EmptyFor
+                                                                                        {-# LINE 11567 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _warnings_augmented_f1 ->
+                                                                                 (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                         {-# LINE 11572 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      AFunc _nameIcopy args_ _bodyIcopy
+                      {-# LINE 11590 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 11595 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisInModule
+                                             {-# LINE 11612 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _nameOisInModule ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 11617 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _nameOvariableStyle ->
+                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopes
+                                               {-# LINE 11622 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _nameOscopes ->
+                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopeLevel
+                                                {-# LINE 11627 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _nameOscopeLevel ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsImtokenPos
+                                                 {-# LINE 11632 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _nameOmtokenPos ->
+                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIloopLevel
+                                                  {-# LINE 11637 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _nameOloopLevel ->
+                                           (case (({-# LINE 442 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _nameIisMeta || findSelf args_ || _lhsIisMeta
+                                                   {-# LINE 11642 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _isMeta ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _isMeta
+                                                    {-# LINE 11647 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _nameOisMeta ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 11652 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _nameOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 11657 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _nameOfuncName ->
+                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIconfig
+                                                       {-# LINE 11662 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _nameIisInModule
+                                                             {-# LINE 11669 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _bodyOisInModule ->
+                                                      (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _nameIglobalDefinitions
+                                                              {-# LINE 11674 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _bodyOglobalDefinitions ->
+                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsIconfig
+                                                               {-# LINE 11679 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _bodyOconfig ->
+                                                        (case (({-# LINE 443 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _isMeta
+                                                                {-# LINE 11684 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _bodyOisMeta ->
+                                                         (case (({-# LINE 431 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 filter (/= MToken emptyRg VarArg) $ args_
+                                                                 {-# LINE 11689 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _argIdentifiers ->
+                                                          (case (({-# LINE 433 "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 11695 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _introduces ->
+                                                           (case (({-# LINE 435 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _introduces     : (registerVariable _nameIscopes _nameImtokenPos _nameIidentifier True)
+                                                                   {-# LINE 11700 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _bodyOscopes ->
+                                                            (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _nameIvariableStyle
+                                                                    {-# LINE 11705 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _bodyOvariableStyle ->
+                                                             (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _lhsIscopeLevel
+                                                                     {-# LINE 11710 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _bodyOscopeLevel ->
+                                                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _nameImtokenPos
+                                                                      {-# LINE 11715 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _bodyOmtokenPos ->
+                                                               (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIloopLevel
+                                                                       {-# LINE 11720 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _bodyOloopLevel ->
+                                                                (case (({-# LINE 444 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _nameIidentifier
+                                                                        {-# LINE 11725 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _bodyOfuncName ->
+                                                                 (case (({-# LINE 432 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         False
+                                                                         {-# LINE 11730 "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 437 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _bodyIglobalDefinitions
+                                                                               {-# LINE 11737 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _globalDefinitions_augmented_syn ->
+                                                                        (case (({-# LINE 437 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                if _lhsIisInModule || isVariableLocal _lhsIscopes _nameIidentifier || _nameIisMeta || _nameIhasSuffixes then id else
+                                                                                  M.insertWith (++) _nameIidentifier [_nameImtokenPos]
+                                                                                {-# LINE 11743 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _globalDefinitions_augmented_f1 ->
+                                                                         (case (({-# LINE 437 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]
+                                                                                 {-# LINE 11748 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOglobalDefinitions ->
+                                                                          (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  (const _nameIidentifier _bodyIidentifier)
+                                                                                  {-# LINE 11753 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOidentifier ->
+                                                                           (case (({-# LINE 430 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   False
+                                                                                   {-# LINE 11758 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOisIfStatement ->
+                                                                            (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _bodyIisInModule
+                                                                                    {-# LINE 11763 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOisInModule ->
+                                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _bodyImtokenPos
+                                                                                     {-# LINE 11768 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOmtokenPos ->
+                                                                              (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _bodyIscopes
+                                                                                      {-# LINE 11773 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOscopes ->
+                                                                               (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _bodyIvariableStyle
+                                                                                       {-# LINE 11778 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _lhsOvariableStyle ->
+                                                                                (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        _nameIwarnings ++ _bodyIwarnings
+                                                                                        {-# LINE 11783 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _warnings_augmented_syn ->
+                                                                                 (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         if not (lint_shadowing _lhsIconfig) then id else
+                                                                                           (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
+                                                                                         {-# LINE 11789 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _warnings_augmented_f1 ->
+                                                                                  (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                                                          {-# LINE 11794 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      ALocFunc _nameIcopy args_ _bodyIcopy
+                      {-# LINE 11812 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 11817 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIisInModule
+                                             {-# LINE 11834 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _nameOisInModule ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIvariableStyle
+                                              {-# LINE 11839 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _nameOvariableStyle ->
+                                       (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIscopes
+                                               {-# LINE 11844 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _nameOscopes ->
+                                        (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIscopeLevel
+                                                {-# LINE 11849 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _nameOscopeLevel ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsImtokenPos
+                                                 {-# LINE 11854 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _nameOmtokenPos ->
+                                          (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIloopLevel
+                                                  {-# LINE 11859 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _nameOloopLevel ->
+                                           (case (({-# LINE 455 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   findSelf args_ || _lhsIisMeta
+                                                   {-# LINE 11864 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _isMeta ->
+                                            (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _isMeta
+                                                    {-# LINE 11869 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _nameOisMeta ->
+                                             (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIglobalDefinitions
+                                                     {-# LINE 11874 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _nameOglobalDefinitions ->
+                                              (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIfuncName
+                                                      {-# LINE 11879 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _nameOfuncName ->
+                                               (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIconfig
+                                                       {-# LINE 11884 "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 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _nameIisInModule
+                                                             {-# LINE 11891 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _bodyOisInModule ->
+                                                      (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _nameIglobalDefinitions
+                                                              {-# LINE 11896 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _bodyOglobalDefinitions ->
+                                                       (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsIconfig
+                                                               {-# LINE 11901 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _bodyOconfig ->
+                                                        (case (({-# LINE 456 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _isMeta
+                                                                {-# LINE 11906 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _bodyOisMeta ->
+                                                         (case (({-# LINE 453 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 M.insert _nameIidentifier (False, _nameImtokenPos) (head _nameIscopes) : tail _nameIscopes
+                                                                 {-# LINE 11911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _passedScopes ->
+                                                          (case (({-# LINE 447 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  filter (/= MToken emptyRg VarArg) $ args_
+                                                                  {-# LINE 11916 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _argIdentifiers ->
+                                                           (case (({-# LINE 449 "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 11922 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _introduces ->
+                                                            (case (({-# LINE 454 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _introduces     : _passedScopes
+                                                                    {-# LINE 11927 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _bodyOscopes ->
+                                                             (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _nameIvariableStyle
+                                                                     {-# LINE 11932 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _bodyOvariableStyle ->
+                                                              (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIscopeLevel
+                                                                      {-# LINE 11937 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _bodyOscopeLevel ->
+                                                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _nameImtokenPos
+                                                                       {-# LINE 11942 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                       )) of
+                                                                { _bodyOmtokenPos ->
+                                                                (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                        _lhsIloopLevel
+                                                                        {-# LINE 11947 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                        )) of
+                                                                 { _bodyOloopLevel ->
+                                                                 (case (({-# LINE 457 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                         _nameIidentifier
+                                                                         {-# LINE 11952 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                         )) of
+                                                                  { _bodyOfuncName ->
+                                                                  (case (({-# LINE 448 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                          False
+                                                                          {-# LINE 11957 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _bodyIglobalDefinitions
+                                                                                {-# LINE 11964 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOglobalDefinitions ->
+                                                                         (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 (const _nameIidentifier _bodyIidentifier)
+                                                                                 {-# LINE 11969 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOidentifier ->
+                                                                          (case (({-# LINE 446 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  False
+                                                                                  {-# LINE 11974 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOisIfStatement ->
+                                                                           (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _bodyIisInModule
+                                                                                   {-# LINE 11979 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                   )) of
+                                                                            { _lhsOisInModule ->
+                                                                            (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                    _bodyImtokenPos
+                                                                                    {-# LINE 11984 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                    )) of
+                                                                             { _lhsOmtokenPos ->
+                                                                             (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                     _bodyIscopes
+                                                                                     {-# LINE 11989 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                     )) of
+                                                                              { _lhsOscopes ->
+                                                                              (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                      _bodyIvariableStyle
+                                                                                      {-# LINE 11994 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                      )) of
+                                                                               { _lhsOvariableStyle ->
+                                                                               (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                       _nameIwarnings ++ _bodyIwarnings
+                                                                                       {-# LINE 11999 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                       )) of
+                                                                                { _warnings_augmented_syn ->
+                                                                                (case (({-# LINE 452 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                        MToken _nameImtokenPos (Identifier _nameIidentifier)
+                                                                                        {-# LINE 12004 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                        )) of
+                                                                                 { _funcname ->
+                                                                                 (case (({-# LINE 462 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                         checkShadows _lhsIscopes _funcname
+                                                                                         {-# LINE 12009 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                         )) of
+                                                                                  { _funcNameShadows ->
+                                                                                  (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                          if not (lint_shadowing _lhsIconfig) then id else
+                                                                                            (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers
+                                                                                          {-# LINE 12015 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                          )) of
+                                                                                   { _warnings_augmented_f2 ->
+                                                                                   (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                           if not (lint_shadowing _lhsIconfig) || isNothing _funcNameShadows     then id else
+                                                                                             (:) . fromMaybe (error "fromMaybe ALocFunc +warnings") $ _funcNameShadows
+                                                                                           {-# LINE 12021 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                           )) of
+                                                                                    { _warnings_augmented_f1 ->
+                                                                                    (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                            foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                                                            {-# LINE 12026 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Whitespace space_
+            {-# LINE 12178 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12183 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12188 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12193 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_DashComment :: String ->
+                         T_Token
+sem_Token_DashComment comment_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            DashComment comment_
+            {-# LINE 12202 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12207 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12212 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12217 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_DashBlockComment :: Int ->
+                              String ->
+                              T_Token
+sem_Token_DashBlockComment depth_ comment_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            DashBlockComment depth_ comment_
+            {-# LINE 12227 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12232 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12237 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12242 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_SlashComment :: String ->
+                          T_Token
+sem_Token_SlashComment comment_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            SlashComment comment_
+            {-# LINE 12251 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12256 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12261 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12266 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_SlashBlockComment :: String ->
+                               T_Token
+sem_Token_SlashBlockComment comment_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            SlashBlockComment comment_
+            {-# LINE 12275 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12280 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12285 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12290 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Semicolon :: T_Token
+sem_Token_Semicolon =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Semicolon
+            {-# LINE 12298 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12303 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12308 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12313 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TNumber :: String ->
+                     T_Token
+sem_Token_TNumber num_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TNumber num_
+            {-# LINE 12322 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12327 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12332 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12337 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_DQString :: String ->
+                      T_Token
+sem_Token_DQString str_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            DQString str_
+            {-# LINE 12346 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12351 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12356 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12361 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_SQString :: String ->
+                      T_Token
+sem_Token_SQString str_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            SQString str_
+            {-# LINE 12370 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12375 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12380 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12385 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_MLString :: String ->
+                      T_Token
+sem_Token_MLString str_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            MLString str_
+            {-# LINE 12394 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12399 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12404 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12409 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TTrue :: T_Token
+sem_Token_TTrue =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TTrue
+            {-# LINE 12417 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12422 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12427 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12432 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TFalse :: T_Token
+sem_Token_TFalse =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TFalse
+            {-# LINE 12440 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12445 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12450 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12455 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Nil :: T_Token
+sem_Token_Nil =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Nil
+            {-# LINE 12463 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12468 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12473 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12478 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_VarArg :: T_Token
+sem_Token_VarArg =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            VarArg
+            {-# LINE 12486 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12491 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12496 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12501 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Plus :: T_Token
+sem_Token_Plus =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Plus
+            {-# LINE 12509 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12514 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12519 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12524 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Minus :: T_Token
+sem_Token_Minus =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Minus
+            {-# LINE 12532 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12537 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12542 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12547 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Multiply :: T_Token
+sem_Token_Multiply =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Multiply
+            {-# LINE 12555 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12560 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12565 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12570 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Divide :: T_Token
+sem_Token_Divide =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Divide
+            {-# LINE 12578 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12583 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12588 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12593 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Modulus :: T_Token
+sem_Token_Modulus =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Modulus
+            {-# LINE 12601 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12606 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12611 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12616 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Power :: T_Token
+sem_Token_Power =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Power
+            {-# LINE 12624 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12629 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12634 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12639 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TEq :: T_Token
+sem_Token_TEq =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TEq
+            {-# LINE 12647 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12652 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12657 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12662 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TNEq :: T_Token
+sem_Token_TNEq =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TNEq
+            {-# LINE 12670 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12675 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12680 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12685 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TCNEq :: T_Token
+sem_Token_TCNEq =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TCNEq
+            {-# LINE 12693 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12698 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12703 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12708 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TLEQ :: T_Token
+sem_Token_TLEQ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TLEQ
+            {-# LINE 12716 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12721 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12726 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12731 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TGEQ :: T_Token
+sem_Token_TGEQ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TGEQ
+            {-# LINE 12739 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12744 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12749 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12754 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TLT :: T_Token
+sem_Token_TLT =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TLT
+            {-# LINE 12762 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12767 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12772 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12777 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_TGT :: T_Token
+sem_Token_TGT =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            TGT
+            {-# LINE 12785 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12790 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12795 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12800 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Equals :: T_Token
+sem_Token_Equals =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Equals
+            {-# LINE 12808 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12813 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12818 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12823 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Concatenate :: T_Token
+sem_Token_Concatenate =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Concatenate
+            {-# LINE 12831 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12836 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12841 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12846 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Colon :: T_Token
+sem_Token_Colon =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Colon
+            {-# LINE 12854 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12859 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12864 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12869 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Dot :: T_Token
+sem_Token_Dot =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Dot
+            {-# LINE 12877 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12882 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12887 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12892 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Comma :: T_Token
+sem_Token_Comma =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Comma
+            {-# LINE 12900 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12905 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12910 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12915 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Hash :: T_Token
+sem_Token_Hash =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Hash
+            {-# LINE 12923 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12928 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12933 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12938 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Not :: T_Token
+sem_Token_Not =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Not
+            {-# LINE 12946 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12951 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12956 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12961 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_CNot :: T_Token
+sem_Token_CNot =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            CNot
+            {-# LINE 12969 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12974 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 12979 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 12984 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_And :: T_Token
+sem_Token_And =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            And
+            {-# LINE 12992 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 12997 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13002 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13007 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_CAnd :: T_Token
+sem_Token_CAnd =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            CAnd
+            {-# LINE 13015 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13020 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13025 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13030 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Or :: T_Token
+sem_Token_Or =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Or
+            {-# LINE 13038 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13043 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13048 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13053 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_COr :: T_Token
+sem_Token_COr =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            COr
+            {-# LINE 13061 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13066 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13071 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13076 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Function :: T_Token
+sem_Token_Function =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Function
+            {-# LINE 13084 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13089 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13094 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13099 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Local :: T_Token
+sem_Token_Local =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Local
+            {-# LINE 13107 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13112 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13117 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13122 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_If :: T_Token
+sem_Token_If =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            If
+            {-# LINE 13130 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13135 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13140 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13145 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Then :: T_Token
+sem_Token_Then =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Then
+            {-# LINE 13153 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13158 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13163 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13168 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Elseif :: T_Token
+sem_Token_Elseif =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Elseif
+            {-# LINE 13176 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13181 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13186 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13191 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Else :: T_Token
+sem_Token_Else =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Else
+            {-# LINE 13199 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13204 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13209 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13214 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_For :: T_Token
+sem_Token_For =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            For
+            {-# LINE 13222 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13227 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13232 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13237 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_In :: T_Token
+sem_Token_In =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            In
+            {-# LINE 13245 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13250 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13255 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13260 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Do :: T_Token
+sem_Token_Do =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Do
+            {-# LINE 13268 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13273 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13278 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13283 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_While :: T_Token
+sem_Token_While =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            While
+            {-# LINE 13291 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13296 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13301 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13306 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Until :: T_Token
+sem_Token_Until =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Until
+            {-# LINE 13314 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13319 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13324 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13329 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Repeat :: T_Token
+sem_Token_Repeat =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Repeat
+            {-# LINE 13337 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13342 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13347 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13352 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Continue :: T_Token
+sem_Token_Continue =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Continue
+            {-# LINE 13360 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13365 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13370 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13375 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Break :: T_Token
+sem_Token_Break =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Break
+            {-# LINE 13383 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13388 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13393 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13398 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Return :: T_Token
+sem_Token_Return =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Return
+            {-# LINE 13406 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13411 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13416 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13421 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_End :: T_Token
+sem_Token_End =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            End
+            {-# LINE 13429 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13434 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13439 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13444 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_LRound :: T_Token
+sem_Token_LRound =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            LRound
+            {-# LINE 13452 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13457 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13462 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13467 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_RRound :: T_Token
+sem_Token_RRound =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            RRound
+            {-# LINE 13475 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13480 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13485 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13490 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_LCurly :: T_Token
+sem_Token_LCurly =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            LCurly
+            {-# LINE 13498 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13503 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13508 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13513 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_RCurly :: T_Token
+sem_Token_RCurly =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            RCurly
+            {-# LINE 13521 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13526 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13531 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13536 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_LSquare :: T_Token
+sem_Token_LSquare =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            LSquare
+            {-# LINE 13544 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13549 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13554 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13559 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_RSquare :: T_Token
+sem_Token_RSquare =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            RSquare
+            {-# LINE 13567 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13572 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              unknownIdentifier
+              {-# LINE 13577 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13582 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Label whitespaceBefore_ lbl_ whitespaceAfter_
+            {-# LINE 13593 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13598 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 221 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              lbl_
+              {-# LINE 13603 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13608 "src/GLuaFixer/AG/ASTLint.hs" #-}
+               )) of
+        { _lhsOwarnings ->
+        ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })
+sem_Token_Identifier :: String ->
+                        T_Token
+sem_Token_Identifier ident_ =
+    (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            Identifier ident_
+            {-# LINE 13617 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13622 "src/GLuaFixer/AG/ASTLint.hs" #-}
+             )) of
+      { _lhsOcopy ->
+      (case (({-# LINE 223 "src/GLuaFixer/AG/ASTLint.ag" #-}
+              ident_
+              {-# LINE 13627 "src/GLuaFixer/AG/ASTLint.hs" #-}
+              )) of
+       { _lhsOidentifier ->
+       (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+               []
+               {-# LINE 13632 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            UnMinus
+            {-# LINE 13672 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13677 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 13694 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 13699 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 13704 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 652 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      False
+                                      {-# LINE 13709 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisNegation ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 13714 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 13719 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 13724 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 13729 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            ANot
+            {-# LINE 13740 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13745 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 13762 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 13767 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 13772 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 654 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      True
+                                      {-# LINE 13777 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisNegation ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 13782 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 13787 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 13792 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 13797 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            AHash
+            {-# LINE 13808 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 13813 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 13830 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 13835 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 13840 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 656 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      False
+                                      {-# LINE 13845 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOisNegation ->
+                               (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsImtokenPos
+                                       {-# LINE 13850 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOmtokenPos ->
+                                (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIscopes
+                                        {-# LINE 13855 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOscopes ->
+                                 (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         _lhsIvariableStyle
+                                         {-# LINE 13860 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                         )) of
+                                  { _lhsOvariableStyle ->
+                                  (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                          []
+                                          {-# LINE 13865 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                      (:) _hdIcopy _tlIcopy
+                      {-# LINE 13911 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                      )) of
+               { _copy ->
+               (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                       _copy
+                       {-# LINE 13916 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                             _lhsIscopes
+                                             {-# LINE 13934 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                             )) of
+                                      { _hdOscopes ->
+                                      (case (({-# LINE 190 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                              _lhsIlocalDefinition
+                                              {-# LINE 13939 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                              )) of
+                                       { _hdOlocalDefinition ->
+                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                               _lhsIisMeta
+                                               {-# LINE 13944 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                               )) of
+                                        { _hdOisMeta ->
+                                        (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                _lhsIconfig
+                                                {-# LINE 13949 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                )) of
+                                         { _hdOconfig ->
+                                         (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                 _lhsIvariableStyle
+                                                 {-# LINE 13954 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                 )) of
+                                          { _hdOvariableStyle ->
+                                          (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                  _lhsIscopeLevel
+                                                  {-# LINE 13959 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                  )) of
+                                           { _hdOscopeLevel ->
+                                           (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                   _lhsImtokenPos
+                                                   {-# LINE 13964 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                   )) of
+                                            { _hdOmtokenPos ->
+                                            (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                    _lhsIloopLevel
+                                                    {-# LINE 13969 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                    )) of
+                                             { _hdOloopLevel ->
+                                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                     _lhsIisInModule
+                                                     {-# LINE 13974 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                     )) of
+                                              { _hdOisInModule ->
+                                              (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                      _lhsIglobalDefinitions
+                                                      {-# LINE 13979 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                      )) of
+                                               { _hdOglobalDefinitions ->
+                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                       _lhsIfuncName
+                                                       {-# LINE 13984 "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 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                             _hdIscopes
+                                                             {-# LINE 13991 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                             )) of
+                                                      { _tlOscopes ->
+                                                      (case (({-# LINE 190 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                              _lhsIlocalDefinition
+                                                              {-# LINE 13996 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                              )) of
+                                                       { _tlOlocalDefinition ->
+                                                       (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                               _lhsIisMeta
+                                                               {-# LINE 14001 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                               )) of
+                                                        { _tlOisMeta ->
+                                                        (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                _hdIisInModule
+                                                                {-# LINE 14006 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                )) of
+                                                         { _tlOisInModule ->
+                                                         (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                 _hdIglobalDefinitions
+                                                                 {-# LINE 14011 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                 )) of
+                                                          { _tlOglobalDefinitions ->
+                                                          (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                  _lhsIconfig
+                                                                  {-# LINE 14016 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                  )) of
+                                                           { _tlOconfig ->
+                                                           (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                   _hdIvariableStyle
+                                                                   {-# LINE 14021 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                   )) of
+                                                            { _tlOvariableStyle ->
+                                                            (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                    _lhsIscopeLevel
+                                                                    {-# LINE 14026 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                    )) of
+                                                             { _tlOscopeLevel ->
+                                                             (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                     _hdImtokenPos
+                                                                     {-# LINE 14031 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                     )) of
+                                                              { _tlOmtokenPos ->
+                                                              (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                      _lhsIloopLevel
+                                                                      {-# LINE 14036 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                      )) of
+                                                               { _tlOloopLevel ->
+                                                               (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                       _lhsIfuncName
+                                                                       {-# LINE 14041 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                             _tlIglobalDefinitions
+                                                                             {-# LINE 14048 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                             )) of
+                                                                      { _lhsOglobalDefinitions ->
+                                                                      (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                              (const _hdIidentifier _tlIidentifier)
+                                                                              {-# LINE 14053 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                              )) of
+                                                                       { _lhsOidentifier ->
+                                                                       (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                               _tlIisInModule
+                                                                               {-# LINE 14058 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                               )) of
+                                                                        { _lhsOisInModule ->
+                                                                        (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                _hdImtokenPos
+                                                                                {-# LINE 14063 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                )) of
+                                                                         { _lhsOmtokenPos ->
+                                                                         (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                 _tlIscopes
+                                                                                 {-# LINE 14068 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                 )) of
+                                                                          { _lhsOscopes ->
+                                                                          (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                  _tlIvariableStyle
+                                                                                  {-# LINE 14073 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                                                                  )) of
+                                                                           { _lhsOvariableStyle ->
+                                                                           (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                                                                   _hdIwarnings ++ _tlIwarnings
+                                                                                   {-# LINE 14078 "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 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+            []
+            {-# LINE 14089 "src/GLuaFixer/AG/ASTLint.hs" #-}
+            )) of
+     { _copy ->
+     (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}
+             _copy
+             {-# LINE 14094 "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 139 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                   _lhsIglobalDefinitions
+                                   {-# LINE 14112 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                   )) of
+                            { _lhsOglobalDefinitions ->
+                            (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                    unknownIdentifier
+                                    {-# LINE 14117 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                    )) of
+                             { _lhsOidentifier ->
+                             (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                     _lhsIisInModule
+                                     {-# LINE 14122 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                     )) of
+                              { _lhsOisInModule ->
+                              (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                      _lhsImtokenPos
+                                      {-# LINE 14127 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                      )) of
+                               { _lhsOmtokenPos ->
+                               (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                       _lhsIscopes
+                                       {-# LINE 14132 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                       )) of
+                                { _lhsOscopes ->
+                                (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                        _lhsIvariableStyle
+                                        {-# LINE 14137 "src/GLuaFixer/AG/ASTLint.hs" #-}
+                                        )) of
+                                 { _lhsOvariableStyle ->
+                                 (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}
+                                         []
+                                         {-# LINE 14142 "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) }) }) })
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,6871 +1,6120 @@
-{-# 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)
-                                                                                )
-                                                                          )
-                                                                    )
-                                                              )
-                                                        )
-                                                  )
-                                            )
-                                      )
-                                )
-                          )
-                    )
-              )
-        )
-  )
+
+
+{-# 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 GHC.Generics
+import GLua.Position
+{-# LINE 19 "src/GLuaFixer/AG/LexLint.hs" #-}
+
+{-# LINE 15 "src/GLuaFixer/AG/LexLint.ag" #-}
+
+import Control.Applicative ((<|>))
+import Data.List
+import GLua.TokenTypes
+import GLua.AG.Token
+import GLua.Position
+import GLuaFixer.LintMessage
+import GLuaFixer.LintSettings
+{-# LINE 30 "src/GLuaFixer/AG/LexLint.hs" #-}
+{-# LINE 27 "src/GLuaFixer/AG/LexLint.ag" #-}
+
+
+----------------------------------------
+--  C-style / Lua-style syntax inconsistencies
+----------------------------------------
+-- For detecting the usage of Lua/C syntax inconsistently. 'Nothing' means no evidence of the style,
+-- and 'Just Region' represents the last place where the style was found to be used.
+data SyntaxUsed = SyntaxUsed
+    { lastLuaExample :: Maybe Region
+    , lastCExample :: Maybe Region
+    }
+    deriving (Show)
+
+instance Semigroup SyntaxUsed where
+    -- Later uses have preference over earlier uses
+    (SyntaxUsed l1 c1) <> (SyntaxUsed l2 c2) = SyntaxUsed (l2 <|> l1) (c2 <|> c1)
+
+-- Monoid instance
+instance Monoid SyntaxUsed where
+    mempty = SyntaxUsed Nothing Nothing
+
+previousSyntaxUsedRegion :: SyntaxUsed -> Maybe Region
+previousSyntaxUsedRegion syntaxUsed = case syntaxUsed of
+    SyntaxUsed (Just l) (Just c) -> Just $ min l c
+    -- There is no previous region if there is no syntax inconsistency
+    SyntaxUsed {} -> Nothing
+
+-- | Whether there is evidence of Lua style code
+luaUsed :: SyntaxUsed -> Bool
+luaUsed (SyntaxUsed (Just _) _) = True
+luaUsed _ = False
+
+-- | Whether there is evidence of C style code
+cUsed :: SyntaxUsed -> Bool
+cUsed (SyntaxUsed _ (Just _)) = True
+cUsed _ = False
+
+-- | Quick helper to turn a bool and region into a member for 'SyntaxUsed'
+mkSyntax :: Bool -> Region -> Maybe Region
+mkSyntax b region = if b then Just region else Nothing
+
+-- | Whether the syntax is consistent
+consistent :: SyntaxUsed -> Bool
+consistent syntaxUsed = case syntaxUsed of
+    SyntaxUsed (Just _) (Just _) -> False
+    _ -> True
+
+mTokenWarning :: Region -> Issue -> FilePath -> LintMessage
+mTokenWarning pos issue = LintMessage LintWarning pos issue
+
+-- | Shorthand for throwing _two_ warnings when an inconsistency occurs: one at the original place
+-- and one at the new place.
+warnInconsistency :: SyntaxUsed -> Issue -> [FilePath -> LintMessage] -> [FilePath -> LintMessage]
+warnInconsistency syntaxUsed issue messages = case syntaxUsed of
+    SyntaxUsed (Just luaRegion) (Just cRegion) ->
+        LintMessage LintWarning luaRegion issue :
+        LintMessage LintWarning cRegion issue :
+        messages
+    _ -> messages
+
+-- | Handy function to reset the built up knowledge of 'SyntaxUsed' when it is found to be
+-- inconsistent.
+resetIfInconsistent :: SyntaxUsed -> SyntaxUsed
+resetIfInconsistent syntaxUsed = case syntaxUsed of
+    SyntaxUsed (Just {}) (Just {}) -> SyntaxUsed Nothing Nothing
+    _ -> syntaxUsed
+
+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 127 "src/GLuaFixer/AG/LexLint.hs" #-}
+
+{-# LINE 296 "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 the parser walks over tabs as though they are 8 spaces.
+fixedLexPositions   :: [MToken] -> [MToken]
+fixedLexPositions p = copy_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList defaultLintSettings))
+{-# LINE 154 "src/GLuaFixer/AG/LexLint.hs" #-}
+-- MToken ------------------------------------------------------
+-- cata
+sem_MToken :: MToken ->
+              T_MToken
+sem_MToken (MToken _mpos _mtok) =
+    (sem_MToken_MToken _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 :: Region ->
+                     T_Token ->
+                     T_MToken
+sem_MToken_MToken mpos_ mtok_ =
+    (\ _lhsIandSyntax
+       _lhsIconfig
+       _lhsIindentation
+       _lhsIlineCommentSyntax
+       _lhsImultilineCommentSyntax
+       _lhsIneqSyntax
+       _lhsInextTokenPos
+       _lhsInotSyntax
+       _lhsIorSyntax
+       _lhsIstrSyntax ->
+         (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 _lhsInextTokenPos
+                 {-# LINE 197 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _mtokOnextTokenPos ->
+          (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  _lhsIandSyntax
+                  {-# LINE 202 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _mtokOandSyntax ->
+           (case (mtok_ _mtokOnextTokenPos) of
+            { ( _mtokInextTokenPos,mtok_1) ->
+                (case (({-# LINE 156 "src/GLuaFixer/AG/LexLint.ag" #-}
+                        Region _lhsInextTokenPos _mtokInextTokenPos
+                        {-# LINE 209 "src/GLuaFixer/AG/LexLint.hs" #-}
+                        )) of
+                 { _mpos ->
+                 (case (({-# LINE 157 "src/GLuaFixer/AG/LexLint.ag" #-}
+                         _mpos
+                         {-# LINE 214 "src/GLuaFixer/AG/LexLint.hs" #-}
+                         )) of
+                  { _mtokOmpos ->
+                  (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                          _lhsIstrSyntax
+                          {-# LINE 219 "src/GLuaFixer/AG/LexLint.hs" #-}
+                          )) of
+                   { _mtokOstrSyntax ->
+                   (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                           _lhsIorSyntax
+                           {-# LINE 224 "src/GLuaFixer/AG/LexLint.hs" #-}
+                           )) of
+                    { _mtokOorSyntax ->
+                    (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                            _lhsInotSyntax
+                            {-# LINE 229 "src/GLuaFixer/AG/LexLint.hs" #-}
+                            )) of
+                     { _mtokOnotSyntax ->
+                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                             _lhsIneqSyntax
+                             {-# LINE 234 "src/GLuaFixer/AG/LexLint.hs" #-}
+                             )) of
+                      { _mtokOneqSyntax ->
+                      (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                              _lhsImultilineCommentSyntax
+                              {-# LINE 239 "src/GLuaFixer/AG/LexLint.hs" #-}
+                              )) of
+                       { _mtokOmultilineCommentSyntax ->
+                       (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                               _lhsIlineCommentSyntax
+                               {-# LINE 244 "src/GLuaFixer/AG/LexLint.hs" #-}
+                               )) of
+                        { _mtokOlineCommentSyntax ->
+                        (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                _lhsIindentation
+                                {-# LINE 249 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                )) of
+                         { _mtokOindentation ->
+                         (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                 _lhsIconfig
+                                 {-# LINE 254 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                 )) of
+                          { _mtokOconfig ->
+                          (case (mtok_1 _mtokOandSyntax _mtokOconfig _mtokOindentation _mtokOlineCommentSyntax _mtokOmpos _mtokOmultilineCommentSyntax _mtokOneqSyntax _mtokOnotSyntax _mtokOorSyntax _mtokOstrSyntax) of
+                           { ( _mtokIandSyntax,_mtokIcopy,_mtokIindentation,_mtokIlineCommentSyntax,_mtokImultilineCommentSyntax,_mtokIneqSyntax,_mtokInotSyntax,_mtokIorSyntax,_mtokIstrSyntax,_mtokIwarnings) ->
+                               (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                       _mtokIandSyntax
+                                       {-# LINE 261 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                       )) of
+                                { _lhsOandSyntax ->
+                                (case (({-# LINE 160 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        MToken (const _mpos     mpos_) _mtokIcopy
+                                        {-# LINE 266 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _copy ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 271 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _mtokIindentation
+                                          {-# LINE 276 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _mtokIlineCommentSyntax
+                                           {-# LINE 281 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _mtokImultilineCommentSyntax
+                                            {-# LINE 286 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _mtokIneqSyntax
+                                             {-# LINE 291 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _mtokInextTokenPos
+                                              {-# LINE 296 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnextTokenPos ->
+                                       (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _mtokInotSyntax
+                                               {-# LINE 301 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOnotSyntax ->
+                                        (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _mtokIorSyntax
+                                                {-# LINE 306 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOorSyntax ->
+                                         (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _mtokIstrSyntax
+                                                 {-# LINE 311 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOstrSyntax ->
+                                          (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _mtokIwarnings
+                                                  {-# LINE 316 "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 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 _lhsInextTokenPos
+                 {-# LINE 362 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _hdOnextTokenPos ->
+          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  _lhsIstrSyntax
+                  {-# LINE 367 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _hdOstrSyntax ->
+           (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                   _lhsIorSyntax
+                   {-# LINE 372 "src/GLuaFixer/AG/LexLint.hs" #-}
+                   )) of
+            { _hdOorSyntax ->
+            (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                    _lhsInotSyntax
+                    {-# LINE 377 "src/GLuaFixer/AG/LexLint.hs" #-}
+                    )) of
+             { _hdOnotSyntax ->
+             (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                     _lhsIneqSyntax
+                     {-# LINE 382 "src/GLuaFixer/AG/LexLint.hs" #-}
+                     )) of
+              { _hdOneqSyntax ->
+              (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                      _lhsImultilineCommentSyntax
+                      {-# LINE 387 "src/GLuaFixer/AG/LexLint.hs" #-}
+                      )) of
+               { _hdOmultilineCommentSyntax ->
+               (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                       _lhsIlineCommentSyntax
+                       {-# LINE 392 "src/GLuaFixer/AG/LexLint.hs" #-}
+                       )) of
+                { _hdOlineCommentSyntax ->
+                (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                        _lhsIindentation
+                        {-# LINE 397 "src/GLuaFixer/AG/LexLint.hs" #-}
+                        )) of
+                 { _hdOindentation ->
+                 (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}
+                         _lhsIconfig
+                         {-# LINE 402 "src/GLuaFixer/AG/LexLint.hs" #-}
+                         )) of
+                  { _hdOconfig ->
+                  (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                          _lhsIandSyntax
+                          {-# LINE 407 "src/GLuaFixer/AG/LexLint.hs" #-}
+                          )) of
+                   { _hdOandSyntax ->
+                   (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 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                _hdInextTokenPos
+                                {-# LINE 414 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                )) of
+                         { _tlOnextTokenPos ->
+                         (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                 _hdIandSyntax
+                                 {-# LINE 419 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                 )) of
+                          { _tlOandSyntax ->
+                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                  _hdIstrSyntax
+                                  {-# LINE 424 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                  )) of
+                           { _tlOstrSyntax ->
+                           (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                   _hdIorSyntax
+                                   {-# LINE 429 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                   )) of
+                            { _tlOorSyntax ->
+                            (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                    _hdInotSyntax
+                                    {-# LINE 434 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                    )) of
+                             { _tlOnotSyntax ->
+                             (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                     _hdIneqSyntax
+                                     {-# LINE 439 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                     )) of
+                              { _tlOneqSyntax ->
+                              (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                      _hdImultilineCommentSyntax
+                                      {-# LINE 444 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                      )) of
+                               { _tlOmultilineCommentSyntax ->
+                               (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                       _hdIlineCommentSyntax
+                                       {-# LINE 449 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                       )) of
+                                { _tlOlineCommentSyntax ->
+                                (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _hdIindentation
+                                        {-# LINE 454 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _tlOindentation ->
+                                 (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _lhsIconfig
+                                         {-# LINE 459 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _tlOconfig ->
+                                  (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 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _tlIandSyntax
+                                               {-# LINE 466 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOandSyntax ->
+                                        (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                (:) _hdIcopy _tlIcopy
+                                                {-# LINE 471 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _copy ->
+                                         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _copy
+                                                 {-# LINE 476 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOcopy ->
+                                          (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _tlIindentation
+                                                  {-# LINE 481 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOindentation ->
+                                           (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _tlIlineCommentSyntax
+                                                   {-# LINE 486 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOlineCommentSyntax ->
+                                            (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    _tlImultilineCommentSyntax
+                                                    {-# LINE 491 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _lhsOmultilineCommentSyntax ->
+                                             (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     _tlIneqSyntax
+                                                     {-# LINE 496 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOneqSyntax ->
+                                              (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      _tlInextTokenPos
+                                                      {-# LINE 501 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOnextTokenPos ->
+                                               (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                       _tlInotSyntax
+                                                       {-# LINE 506 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                       )) of
+                                                { _lhsOnotSyntax ->
+                                                (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                        _tlIorSyntax
+                                                        {-# LINE 511 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                        )) of
+                                                 { _lhsOorSyntax ->
+                                                 (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                         _tlIstrSyntax
+                                                         {-# LINE 516 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                         )) of
+                                                  { _lhsOstrSyntax ->
+                                                  (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                          _hdIwarnings ++ _tlIwarnings
+                                                          {-# LINE 521 "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 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 _lhsIandSyntax
+                 {-# LINE 539 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _lhsOandSyntax ->
+          (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  []
+                  {-# LINE 544 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _copy ->
+           (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                   _copy
+                   {-# LINE 549 "src/GLuaFixer/AG/LexLint.hs" #-}
+                   )) of
+            { _lhsOcopy ->
+            (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                    _lhsIindentation
+                    {-# LINE 554 "src/GLuaFixer/AG/LexLint.hs" #-}
+                    )) of
+             { _lhsOindentation ->
+             (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                     _lhsIlineCommentSyntax
+                     {-# LINE 559 "src/GLuaFixer/AG/LexLint.hs" #-}
+                     )) of
+              { _lhsOlineCommentSyntax ->
+              (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                      _lhsImultilineCommentSyntax
+                      {-# LINE 564 "src/GLuaFixer/AG/LexLint.hs" #-}
+                      )) of
+               { _lhsOmultilineCommentSyntax ->
+               (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                       _lhsIneqSyntax
+                       {-# LINE 569 "src/GLuaFixer/AG/LexLint.hs" #-}
+                       )) of
+                { _lhsOneqSyntax ->
+                (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                        _lhsInextTokenPos
+                        {-# LINE 574 "src/GLuaFixer/AG/LexLint.hs" #-}
+                        )) of
+                 { _lhsOnextTokenPos ->
+                 (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                         _lhsInotSyntax
+                         {-# LINE 579 "src/GLuaFixer/AG/LexLint.hs" #-}
+                         )) of
+                  { _lhsOnotSyntax ->
+                  (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                          _lhsIorSyntax
+                          {-# LINE 584 "src/GLuaFixer/AG/LexLint.hs" #-}
+                          )) of
+                   { _lhsOorSyntax ->
+                   (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                           _lhsIstrSyntax
+                           {-# LINE 589 "src/GLuaFixer/AG/LexLint.hs" #-}
+                           )) of
+                    { _lhsOstrSyntax ->
+                    (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                            []
+                            {-# LINE 594 "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 = LineColPos ->
+               ( LineColPos,T_Token_1)
+type T_Token_1 = SyntaxUsed ->
+                 LintSettings ->
+                 SyntaxUsed ->
+                 SyntaxUsed ->
+                 Region ->
+                 SyntaxUsed ->
+                 SyntaxUsed ->
+                 SyntaxUsed ->
+                 SyntaxUsed ->
+                 SyntaxUsed ->
+                 ( SyntaxUsed,Token,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))
+data Inh_Token = Inh_Token {andSyntax_Inh_Token :: SyntaxUsed,config_Inh_Token :: LintSettings,indentation_Inh_Token :: SyntaxUsed,lineCommentSyntax_Inh_Token :: SyntaxUsed,mpos_Inh_Token :: Region,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,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,warnings_Syn_Token :: ([FilePath -> LintMessage])}
+wrap_Token :: T_Token ->
+              Inh_Token ->
+              Syn_Token
+wrap_Token sem (Inh_Token _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImpos _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =
+    (let ( _lhsOnextTokenPos,sem_1) = sem _lhsInextTokenPos
+         ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem_1 _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImpos _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax
+     in  (Syn_Token _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))
+sem_Token_Whitespace :: String ->
+                        T_Token
+sem_Token_Whitespace space_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 164 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 _lhsInextTokenPos
+                 {-# LINE 757 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _curTokenPos ->
+          (case (({-# LINE 165 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceStr _curTokenPos     space_
+                  {-# LINE 762 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _nextTokenPos ->
+           (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                   _nextTokenPos
+                   {-# LINE 767 "src/GLuaFixer/AG/LexLint.hs" #-}
+                   )) of
+            { _lhsOnextTokenPos ->
+            (case ((let sem_Token_Whitespace_1 :: T_Token_1
+                        sem_Token_Whitespace_1 =
+                            (\ _lhsIandSyntax
+                               _lhsIconfig
+                               _lhsIindentation
+                               _lhsIlineCommentSyntax
+                               _lhsImpos
+                               _lhsImultilineCommentSyntax
+                               _lhsIneqSyntax
+                               _lhsInotSyntax
+                               _lhsIorSyntax
+                               _lhsIstrSyntax ->
+                                 (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _lhsIandSyntax
+                                         {-# LINE 784 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOandSyntax ->
+                                  (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          Whitespace space_
+                                          {-# LINE 789 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _copy ->
+                                   (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _copy
+                                           {-# LINE 794 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOcopy ->
+                                    (case (({-# LINE 177 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            Region (indentationStart _curTokenPos     space_) _nextTokenPos
+                                            {-# LINE 799 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _indentationRg ->
+                                     (case (({-# LINE 168 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             mkSyntax (isInfixOf "\n\t" space_) _indentationRg
+                                             {-# LINE 804 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _usesTabs ->
+                                      (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              mkSyntax (isInfixOf "\n " space_) _indentationRg
+                                              {-# LINE 809 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _usesSpaces ->
+                                       (case (({-# LINE 169 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIindentation <> SyntaxUsed _usesSpaces     _usesTabs
+                                               {-# LINE 814 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _combinedSyntaxUsed ->
+                                        (case (({-# LINE 170 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                resetIfInconsistent _combinedSyntaxUsed
+                                                {-# LINE 819 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _indentation ->
+                                         (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _indentation
+                                                 {-# LINE 824 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOindentation ->
+                                          (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIlineCommentSyntax
+                                                  {-# LINE 829 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOlineCommentSyntax ->
+                                           (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _lhsImultilineCommentSyntax
+                                                   {-# LINE 834 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOmultilineCommentSyntax ->
+                                            (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    _lhsIneqSyntax
+                                                    {-# LINE 839 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _lhsOneqSyntax ->
+                                             (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     _lhsInotSyntax
+                                                     {-# LINE 844 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOnotSyntax ->
+                                              (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      _lhsIorSyntax
+                                                      {-# LINE 849 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOorSyntax ->
+                                               (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                       _lhsIstrSyntax
+                                                       {-# LINE 854 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                       )) of
+                                                { _lhsOstrSyntax ->
+                                                (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                        []
+                                                        {-# LINE 859 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                        )) of
+                                                 { _warnings_augmented_syn ->
+                                                 (case (({-# LINE 173 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                         locateTrailingWhitespace _curTokenPos     space_
+                                                         {-# LINE 864 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                         )) of
+                                                  { _whitespaceStart ->
+                                                  (case (({-# LINE 174 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                          endOfTrailingWhitespace _whitespaceStart
+                                                          {-# LINE 869 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                          )) of
+                                                   { _whitespaceEnd ->
+                                                   (case (({-# LINE 181 "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 874 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                           )) of
+                                                    { _warnings_augmented_f2 ->
+                                                    (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                            if not (lint_whitespaceStyle _lhsIconfig) then id else
+                                                                warnInconsistency _combinedSyntaxUsed     InconsistentTabsSpaces
+                                                            {-# LINE 880 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                            )) of
+                                                     { _warnings_augmented_f1 ->
+                                                     (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                             foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]
+                                                             {-# LINE 885 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                             )) of
+                                                      { _lhsOwarnings ->
+                                                      ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                    in  sem_Token_Whitespace_1)) of
+             { ( sem_Token_1) ->
+             ( _lhsOnextTokenPos,sem_Token_1) }) }) }) }))
+sem_Token_DashComment :: String ->
+                         T_Token
+sem_Token_DashComment comment_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 DashComment comment_
+                 {-# LINE 898 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 185 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 903 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _nextTokenPos ->
+           (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                   _nextTokenPos
+                   {-# LINE 908 "src/GLuaFixer/AG/LexLint.hs" #-}
+                   )) of
+            { _lhsOnextTokenPos ->
+            (case ((let sem_Token_DashComment_1 :: T_Token_1
+                        sem_Token_DashComment_1 =
+                            (\ _lhsIandSyntax
+                               _lhsIconfig
+                               _lhsIindentation
+                               _lhsIlineCommentSyntax
+                               _lhsImpos
+                               _lhsImultilineCommentSyntax
+                               _lhsIneqSyntax
+                               _lhsInotSyntax
+                               _lhsIorSyntax
+                               _lhsIstrSyntax ->
+                                 (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _lhsIandSyntax
+                                         {-# LINE 925 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOandSyntax ->
+                                  (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _copy
+                                          {-# LINE 930 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOcopy ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIindentation
+                                           {-# LINE 935 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOindentation ->
+                                    (case (({-# LINE 187 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsIlineCommentSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                            {-# LINE 940 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _combinedSyntaxUsed ->
+                                     (case (({-# LINE 188 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             resetIfInconsistent _combinedSyntaxUsed
+                                             {-# LINE 945 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lineCommentSyntax ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lineCommentSyntax
+                                              {-# LINE 950 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOlineCommentSyntax ->
+                                       (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsImultilineCommentSyntax
+                                               {-# LINE 955 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOmultilineCommentSyntax ->
+                                        (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIneqSyntax
+                                                {-# LINE 960 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOneqSyntax ->
+                                         (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsInotSyntax
+                                                 {-# LINE 965 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOnotSyntax ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIorSyntax
+                                                  {-# LINE 970 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOorSyntax ->
+                                           (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _lhsIstrSyntax
+                                                   {-# LINE 975 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOstrSyntax ->
+                                            (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    []
+                                                    {-# LINE 980 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_syn ->
+                                             (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                         warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "--" "//"
+                                                     {-# LINE 986 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _warnings_augmented_f1 ->
+                                              (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                      {-# LINE 991 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOwarnings ->
+                                               ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                    in  sem_Token_DashComment_1)) of
+             { ( sem_Token_1) ->
+             ( _lhsOnextTokenPos,sem_Token_1) }) }) }) }))
+sem_Token_DashBlockComment :: Int ->
+                              String ->
+                              T_Token
+sem_Token_DashBlockComment depth_ comment_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 202 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 showString "--[" . showString (replicate depth_ '-') . showChar '[' . showString comment_ . showChar ']' . showString (replicate depth_ '-') . showChar ']' $ ""
+                 {-# LINE 1005 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _str ->
+          (case (({-# LINE 203 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceStr _lhsInextTokenPos _str
+                  {-# LINE 1010 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_DashBlockComment_1 :: T_Token_1
+                       sem_Token_DashBlockComment_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1027 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         DashBlockComment depth_ comment_
+                                         {-# LINE 1032 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _copy ->
+                                  (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _copy
+                                          {-# LINE 1037 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOcopy ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIindentation
+                                           {-# LINE 1042 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOindentation ->
+                                    (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsIlineCommentSyntax
+                                            {-# LINE 1047 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOlineCommentSyntax ->
+                                     (case (({-# LINE 205 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsImultilineCommentSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                             {-# LINE 1052 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _combinedSyntaxUsed ->
+                                      (case (({-# LINE 206 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              resetIfInconsistent _combinedSyntaxUsed
+                                              {-# LINE 1057 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _multilineCommentSyntax ->
+                                       (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _multilineCommentSyntax
+                                               {-# LINE 1062 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOmultilineCommentSyntax ->
+                                        (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIneqSyntax
+                                                {-# LINE 1067 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOneqSyntax ->
+                                         (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsInotSyntax
+                                                 {-# LINE 1072 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOnotSyntax ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIorSyntax
+                                                  {-# LINE 1077 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOorSyntax ->
+                                           (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _lhsIstrSyntax
+                                                   {-# LINE 1082 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOstrSyntax ->
+                                            (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    []
+                                                    {-# LINE 1087 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_syn ->
+                                             (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                         warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "--[[ ]]" "/* */"
+                                                     {-# LINE 1093 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _warnings_augmented_f1 ->
+                                              (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                      {-# LINE 1098 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOwarnings ->
+                                               ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_DashBlockComment_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_SlashComment :: String ->
+                          T_Token
+sem_Token_SlashComment comment_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 SlashComment comment_
+                 {-# LINE 1111 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 193 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 1116 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _nextTokenPos ->
+           (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}
+                   _nextTokenPos
+                   {-# LINE 1121 "src/GLuaFixer/AG/LexLint.hs" #-}
+                   )) of
+            { _lhsOnextTokenPos ->
+            (case ((let sem_Token_SlashComment_1 :: T_Token_1
+                        sem_Token_SlashComment_1 =
+                            (\ _lhsIandSyntax
+                               _lhsIconfig
+                               _lhsIindentation
+                               _lhsIlineCommentSyntax
+                               _lhsImpos
+                               _lhsImultilineCommentSyntax
+                               _lhsIneqSyntax
+                               _lhsInotSyntax
+                               _lhsIorSyntax
+                               _lhsIstrSyntax ->
+                                 (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _lhsIandSyntax
+                                         {-# LINE 1138 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOandSyntax ->
+                                  (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _copy
+                                          {-# LINE 1143 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOcopy ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIindentation
+                                           {-# LINE 1148 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOindentation ->
+                                    (case (({-# LINE 195 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsIlineCommentSyntax <> SyntaxUsed Nothing (Just _lhsImpos)
+                                            {-# LINE 1153 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _combinedSyntaxUsed ->
+                                     (case (({-# LINE 196 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             resetIfInconsistent _combinedSyntaxUsed
+                                             {-# LINE 1158 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lineCommentSyntax ->
+                                      (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lineCommentSyntax
+                                              {-# LINE 1163 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOlineCommentSyntax ->
+                                       (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsImultilineCommentSyntax
+                                               {-# LINE 1168 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOmultilineCommentSyntax ->
+                                        (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIneqSyntax
+                                                {-# LINE 1173 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOneqSyntax ->
+                                         (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsInotSyntax
+                                                 {-# LINE 1178 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOnotSyntax ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIorSyntax
+                                                  {-# LINE 1183 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOorSyntax ->
+                                           (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _lhsIstrSyntax
+                                                   {-# LINE 1188 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOstrSyntax ->
+                                            (case (({-# LINE 197 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    []
+                                                    {-# LINE 1193 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_syn ->
+                                             (case (({-# LINE 197 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                         warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "//" "--"
+                                                     {-# LINE 1199 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _warnings_augmented_f1 ->
+                                              (case (({-# LINE 197 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                      {-# LINE 1204 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOwarnings ->
+                                               ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                    in  sem_Token_SlashComment_1)) of
+             { ( sem_Token_1) ->
+             ( _lhsOnextTokenPos,sem_Token_1) }) }) }) }))
+sem_Token_SlashBlockComment :: String ->
+                               T_Token
+sem_Token_SlashBlockComment comment_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 211 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 showString "/*" . showString comment_ . showString "*/" $ ""
+                 {-# LINE 1217 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _str ->
+          (case (({-# LINE 212 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceStr _lhsInextTokenPos _str
+                  {-# LINE 1222 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_SlashBlockComment_1 :: T_Token_1
+                       sem_Token_SlashBlockComment_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1239 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         SlashBlockComment comment_
+                                         {-# LINE 1244 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _copy ->
+                                  (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _copy
+                                          {-# LINE 1249 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOcopy ->
+                                   (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIindentation
+                                           {-# LINE 1254 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOindentation ->
+                                    (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsIlineCommentSyntax
+                                            {-# LINE 1259 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOlineCommentSyntax ->
+                                     (case (({-# LINE 214 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsImultilineCommentSyntax <> SyntaxUsed Nothing (Just _lhsImpos)
+                                             {-# LINE 1264 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _combinedSyntaxUsed ->
+                                      (case (({-# LINE 215 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              resetIfInconsistent _combinedSyntaxUsed
+                                              {-# LINE 1269 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _multilineCommentSyntax ->
+                                       (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _multilineCommentSyntax
+                                               {-# LINE 1274 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOmultilineCommentSyntax ->
+                                        (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIneqSyntax
+                                                {-# LINE 1279 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOneqSyntax ->
+                                         (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsInotSyntax
+                                                 {-# LINE 1284 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOnotSyntax ->
+                                          (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIorSyntax
+                                                  {-# LINE 1289 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOorSyntax ->
+                                           (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _lhsIstrSyntax
+                                                   {-# LINE 1294 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOstrSyntax ->
+                                            (case (({-# LINE 216 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    []
+                                                    {-# LINE 1299 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_syn ->
+                                             (case (({-# LINE 216 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                         warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "/* */" "--[[ ]]"
+                                                     {-# LINE 1305 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _warnings_augmented_f1 ->
+                                              (case (({-# LINE 216 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                      {-# LINE 1310 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOwarnings ->
+                                               ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_SlashBlockComment_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Semicolon :: T_Token
+sem_Token_Semicolon =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Semicolon
+                 {-# LINE 1322 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 1327 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Semicolon_1 :: T_Token_1
+                       sem_Token_Semicolon_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1344 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1349 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1354 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1359 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1364 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1369 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1374 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1379 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 1384 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 1389 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Semicolon_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TNumber :: String ->
+                     T_Token
+sem_Token_TNumber num_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TNumber num_
+                 {-# LINE 1402 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 1407 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TNumber_1 :: T_Token_1
+                       sem_Token_TNumber_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1424 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1429 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1434 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1439 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1444 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1449 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1454 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1459 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 1464 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 1469 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TNumber_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_DQString :: String ->
+                      T_Token
+sem_Token_DQString str_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 224 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 customAdvanceStr _lhsInextTokenPos $ "\"" <> str_ <> "\""
+                 {-# LINE 1482 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _lhsOnextTokenPos ->
+          (case ((let sem_Token_DQString_1 :: T_Token_1
+                      sem_Token_DQString_1 =
+                          (\ _lhsIandSyntax
+                             _lhsIconfig
+                             _lhsIindentation
+                             _lhsIlineCommentSyntax
+                             _lhsImpos
+                             _lhsImultilineCommentSyntax
+                             _lhsIneqSyntax
+                             _lhsInotSyntax
+                             _lhsIorSyntax
+                             _lhsIstrSyntax ->
+                               (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                       _lhsIandSyntax
+                                       {-# LINE 1499 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                       )) of
+                                { _lhsOandSyntax ->
+                                (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        DQString str_
+                                        {-# LINE 1504 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _copy ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1509 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1514 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1519 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1524 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1529 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1534 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1539 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 226 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                                {-# LINE 1544 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _combinedSyntaxUsed ->
+                                         (case (({-# LINE 227 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 resetIfInconsistent _combinedSyntaxUsed
+                                                 {-# LINE 1549 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _strSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _strSyntax
+                                                  {-# LINE 1554 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 228 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 1559 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 228 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "double quoted strings" "single quoted strings"
+                                                    {-# LINE 1565 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 228 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 1570 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                  in  sem_Token_DQString_1)) of
+           { ( sem_Token_1) ->
+           ( _lhsOnextTokenPos,sem_Token_1) }) }))
+sem_Token_SQString :: String ->
+                      T_Token
+sem_Token_SQString str_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 233 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 customAdvanceStr _lhsInextTokenPos $ "'" <> str_ <> "'"
+                 {-# LINE 1583 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _lhsOnextTokenPos ->
+          (case ((let sem_Token_SQString_1 :: T_Token_1
+                      sem_Token_SQString_1 =
+                          (\ _lhsIandSyntax
+                             _lhsIconfig
+                             _lhsIindentation
+                             _lhsIlineCommentSyntax
+                             _lhsImpos
+                             _lhsImultilineCommentSyntax
+                             _lhsIneqSyntax
+                             _lhsInotSyntax
+                             _lhsIorSyntax
+                             _lhsIstrSyntax ->
+                               (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                       _lhsIandSyntax
+                                       {-# LINE 1600 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                       )) of
+                                { _lhsOandSyntax ->
+                                (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        SQString str_
+                                        {-# LINE 1605 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _copy ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1610 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1615 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1620 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1625 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1630 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1635 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1640 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 236 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                if isSingleChar str_ then Nothing else Just _lhsImpos
+                                                {-# LINE 1645 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _usesSingleQuotedSyntax ->
+                                         (case (({-# LINE 237 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIstrSyntax <> SyntaxUsed Nothing _usesSingleQuotedSyntax
+                                                 {-# LINE 1650 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _combinedSyntaxUsed ->
+                                          (case (({-# LINE 238 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  resetIfInconsistent _combinedSyntaxUsed
+                                                  {-# LINE 1655 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _strSyntax ->
+                                           (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   _strSyntax
+                                                   {-# LINE 1660 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _lhsOstrSyntax ->
+                                            (case (({-# LINE 239 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    []
+                                                    {-# LINE 1665 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_syn ->
+                                             (case (({-# LINE 239 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                         warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "single quoted strings" "double quoted strings"
+                                                     {-# LINE 1671 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _warnings_augmented_f1 ->
+                                              (case (({-# LINE 239 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                      foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                      {-# LINE 1676 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                      )) of
+                                               { _lhsOwarnings ->
+                                               ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                  in  sem_Token_SQString_1)) of
+           { ( sem_Token_1) ->
+           ( _lhsOnextTokenPos,sem_Token_1) }) }))
+sem_Token_MLString :: String ->
+                      T_Token
+sem_Token_MLString str_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 243 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 customAdvanceStr _lhsInextTokenPos str_
+                 {-# LINE 1689 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _lhsOnextTokenPos ->
+          (case ((let sem_Token_MLString_1 :: T_Token_1
+                      sem_Token_MLString_1 =
+                          (\ _lhsIandSyntax
+                             _lhsIconfig
+                             _lhsIindentation
+                             _lhsIlineCommentSyntax
+                             _lhsImpos
+                             _lhsImultilineCommentSyntax
+                             _lhsIneqSyntax
+                             _lhsInotSyntax
+                             _lhsIorSyntax
+                             _lhsIstrSyntax ->
+                               (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                       _lhsIandSyntax
+                                       {-# LINE 1706 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                       )) of
+                                { _lhsOandSyntax ->
+                                (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        MLString str_
+                                        {-# LINE 1711 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _copy ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1716 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1721 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1726 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1731 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1736 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1741 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1746 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 1751 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 1756 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }))
+                  in  sem_Token_MLString_1)) of
+           { ( sem_Token_1) ->
+           ( _lhsOnextTokenPos,sem_Token_1) }) }))
+sem_Token_TTrue :: T_Token
+sem_Token_TTrue =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TTrue
+                 {-# LINE 1768 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 1773 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TTrue_1 :: T_Token_1
+                       sem_Token_TTrue_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1790 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1795 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1800 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1805 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1810 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1815 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1820 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1825 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 1830 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 1835 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TTrue_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TFalse :: T_Token
+sem_Token_TFalse =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TFalse
+                 {-# LINE 1847 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 1852 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TFalse_1 :: T_Token_1
+                       sem_Token_TFalse_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1869 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1874 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1879 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1884 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1889 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1894 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1899 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1904 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 1909 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 1914 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TFalse_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Nil :: T_Token
+sem_Token_Nil =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Nil
+                 {-# LINE 1926 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 1931 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Nil_1 :: T_Token_1
+                       sem_Token_Nil_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 1948 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 1953 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 1958 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 1963 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 1968 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 1973 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 1978 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 1983 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 1988 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 1993 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Nil_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_VarArg :: T_Token
+sem_Token_VarArg =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 VarArg
+                 {-# LINE 2005 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2010 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_VarArg_1 :: T_Token_1
+                       sem_Token_VarArg_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2027 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2032 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2037 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2042 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2047 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2052 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2057 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2062 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2067 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2072 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_VarArg_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Plus :: T_Token
+sem_Token_Plus =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Plus
+                 {-# LINE 2084 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2089 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Plus_1 :: T_Token_1
+                       sem_Token_Plus_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2106 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2111 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2116 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2121 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2126 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2131 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2136 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2141 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2146 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2151 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Plus_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Minus :: T_Token
+sem_Token_Minus =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Minus
+                 {-# LINE 2163 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2168 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Minus_1 :: T_Token_1
+                       sem_Token_Minus_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2185 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2190 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2195 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2200 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2205 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2210 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2215 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2220 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2225 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2230 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Minus_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Multiply :: T_Token
+sem_Token_Multiply =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Multiply
+                 {-# LINE 2242 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2247 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Multiply_1 :: T_Token_1
+                       sem_Token_Multiply_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2264 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2269 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2274 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2279 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2284 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2289 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2294 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2299 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2304 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2309 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Multiply_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Divide :: T_Token
+sem_Token_Divide =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Divide
+                 {-# LINE 2321 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2326 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Divide_1 :: T_Token_1
+                       sem_Token_Divide_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2343 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2348 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2353 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2358 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2363 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2368 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2373 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2378 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2383 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2388 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Divide_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Modulus :: T_Token
+sem_Token_Modulus =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Modulus
+                 {-# LINE 2400 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2405 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Modulus_1 :: T_Token_1
+                       sem_Token_Modulus_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2422 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2427 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2432 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2437 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2442 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2447 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2452 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2457 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2462 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2467 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Modulus_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Power :: T_Token
+sem_Token_Power =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Power
+                 {-# LINE 2479 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2484 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Power_1 :: T_Token_1
+                       sem_Token_Power_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2501 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2506 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2511 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2516 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2521 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2526 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2531 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2536 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2541 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2546 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Power_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TEq :: T_Token
+sem_Token_TEq =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TEq
+                 {-# LINE 2558 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2563 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TEq_1 :: T_Token_1
+                       sem_Token_TEq_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2580 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2585 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2590 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2595 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2600 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2605 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2610 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2615 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2620 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2625 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TEq_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TNEq :: T_Token
+sem_Token_TNEq =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TNEq
+                 {-# LINE 2637 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2642 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TNEq_1 :: T_Token_1
+                       sem_Token_TNEq_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2659 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2664 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2669 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2674 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2679 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 282 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                             {-# LINE 2684 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _combinedSyntaxUsed ->
+                                      (case (({-# LINE 283 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              resetIfInconsistent _combinedSyntaxUsed
+                                              {-# LINE 2689 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _neqSyntax ->
+                                       (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _neqSyntax
+                                               {-# LINE 2694 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOneqSyntax ->
+                                        (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsInotSyntax
+                                                {-# LINE 2699 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOnotSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIorSyntax
+                                                 {-# LINE 2704 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 2709 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 284 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 2714 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 284 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "~=" "!="
+                                                    {-# LINE 2720 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 284 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 2725 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TNEq_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TCNEq :: T_Token
+sem_Token_TCNEq =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TCNEq
+                 {-# LINE 2737 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2742 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TCNEq_1 :: T_Token_1
+                       sem_Token_TCNEq_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2759 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2764 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2769 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2774 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2779 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 288 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax <> SyntaxUsed Nothing (Just _lhsImpos)
+                                             {-# LINE 2784 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _combinedSyntaxUsed ->
+                                      (case (({-# LINE 289 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              resetIfInconsistent _combinedSyntaxUsed
+                                              {-# LINE 2789 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _neqSyntax ->
+                                       (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _neqSyntax
+                                               {-# LINE 2794 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOneqSyntax ->
+                                        (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsInotSyntax
+                                                {-# LINE 2799 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOnotSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIorSyntax
+                                                 {-# LINE 2804 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 2809 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 290 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 2814 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 290 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "!=" "~="
+                                                    {-# LINE 2820 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 290 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 2825 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TCNEq_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TLEQ :: T_Token
+sem_Token_TLEQ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TLEQ
+                 {-# LINE 2837 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2842 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TLEQ_1 :: T_Token_1
+                       sem_Token_TLEQ_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2859 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2864 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2869 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2874 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2879 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2884 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2889 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2894 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2899 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2904 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TLEQ_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TGEQ :: T_Token
+sem_Token_TGEQ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TGEQ
+                 {-# LINE 2916 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 2921 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TGEQ_1 :: T_Token_1
+                       sem_Token_TGEQ_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 2938 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 2943 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 2948 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 2953 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 2958 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 2963 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 2968 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 2973 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 2978 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 2983 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TGEQ_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TLT :: T_Token
+sem_Token_TLT =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TLT
+                 {-# LINE 2995 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3000 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TLT_1 :: T_Token_1
+                       sem_Token_TLT_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3017 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3022 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3027 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3032 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3037 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3042 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3047 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3052 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3057 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3062 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TLT_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_TGT :: T_Token
+sem_Token_TGT =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 TGT
+                 {-# LINE 3074 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3079 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_TGT_1 :: T_Token_1
+                       sem_Token_TGT_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3096 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3101 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3106 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3111 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3116 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3121 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3126 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3131 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3136 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3141 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_TGT_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Equals :: T_Token
+sem_Token_Equals =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Equals
+                 {-# LINE 3153 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3158 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Equals_1 :: T_Token_1
+                       sem_Token_Equals_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3175 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3180 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3185 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3190 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3195 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3200 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3205 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3210 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3215 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3220 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Equals_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Concatenate :: T_Token
+sem_Token_Concatenate =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Concatenate
+                 {-# LINE 3232 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3237 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Concatenate_1 :: T_Token_1
+                       sem_Token_Concatenate_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3254 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3259 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3264 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3269 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3274 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3279 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3284 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3289 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3294 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3299 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Concatenate_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Colon :: T_Token
+sem_Token_Colon =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Colon
+                 {-# LINE 3311 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3316 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Colon_1 :: T_Token_1
+                       sem_Token_Colon_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3333 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3338 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3343 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3348 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3353 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3358 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3363 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3368 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3373 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3378 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Colon_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Dot :: T_Token
+sem_Token_Dot =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Dot
+                 {-# LINE 3390 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3395 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Dot_1 :: T_Token_1
+                       sem_Token_Dot_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3412 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3417 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3422 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3427 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3432 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3437 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3442 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3447 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3452 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3457 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Dot_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Comma :: T_Token
+sem_Token_Comma =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Comma
+                 {-# LINE 3469 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3474 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Comma_1 :: T_Token_1
+                       sem_Token_Comma_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3491 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3496 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3501 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3506 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3511 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3516 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3521 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3526 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3531 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3536 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Comma_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Hash :: T_Token
+sem_Token_Hash =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Hash
+                 {-# LINE 3548 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3553 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Hash_1 :: T_Token_1
+                       sem_Token_Hash_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3570 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3575 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3580 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3585 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3590 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3595 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 3600 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 3605 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 3610 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 3615 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Hash_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Not :: T_Token
+sem_Token_Not =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Not
+                 {-# LINE 3627 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3632 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Not_1 :: T_Token_1
+                       sem_Token_Not_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3649 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3654 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3659 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3664 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3669 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3674 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 246 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                              {-# LINE 3679 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _combinedSyntaxUsed ->
+                                       (case (({-# LINE 247 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               resetIfInconsistent _combinedSyntaxUsed
+                                               {-# LINE 3684 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _notSyntax ->
+                                        (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _notSyntax
+                                                {-# LINE 3689 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOnotSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIorSyntax
+                                                 {-# LINE 3694 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 3699 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 248 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 3704 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 248 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "not" "!"
+                                                    {-# LINE 3710 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 248 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 3715 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Not_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_CNot :: T_Token
+sem_Token_CNot =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 CNot
+                 {-# LINE 3727 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3732 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_CNot_1 :: T_Token_1
+                       sem_Token_CNot_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 3749 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 3754 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 3759 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 3764 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 3769 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 3774 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 252 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax <> SyntaxUsed Nothing (Just _lhsImpos)
+                                              {-# LINE 3779 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _combinedSyntaxUsed ->
+                                       (case (({-# LINE 253 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               resetIfInconsistent _combinedSyntaxUsed
+                                               {-# LINE 3784 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _notSyntax ->
+                                        (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _notSyntax
+                                                {-# LINE 3789 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOnotSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIorSyntax
+                                                 {-# LINE 3794 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 3799 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 254 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 3804 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 254 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "!" "not"
+                                                    {-# LINE 3810 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 254 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 3815 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_CNot_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_And :: T_Token
+sem_Token_And =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 And
+                 {-# LINE 3827 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3832 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_And_1 :: T_Token_1
+                       sem_Token_And_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 258 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                        {-# LINE 3849 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _combinedSyntaxUsed ->
+                                 (case (({-# LINE 259 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         resetIfInconsistent _combinedSyntaxUsed
+                                         {-# LINE 3854 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _andSyntax ->
+                                  (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _andSyntax
+                                          {-# LINE 3859 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOandSyntax ->
+                                   (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _copy
+                                           {-# LINE 3864 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOcopy ->
+                                    (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsIindentation
+                                            {-# LINE 3869 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOindentation ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIlineCommentSyntax
+                                             {-# LINE 3874 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOlineCommentSyntax ->
+                                      (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsImultilineCommentSyntax
+                                              {-# LINE 3879 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOmultilineCommentSyntax ->
+                                       (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIneqSyntax
+                                               {-# LINE 3884 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOneqSyntax ->
+                                        (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsInotSyntax
+                                                {-# LINE 3889 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOnotSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIorSyntax
+                                                 {-# LINE 3894 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 3899 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 260 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 3904 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 260 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "and" "&&"
+                                                    {-# LINE 3910 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 260 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 3915 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_And_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_CAnd :: T_Token
+sem_Token_CAnd =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 CAnd
+                 {-# LINE 3927 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 3932 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_CAnd_1 :: T_Token_1
+                       sem_Token_CAnd_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 264 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax <> SyntaxUsed Nothing (Just _lhsImpos)
+                                        {-# LINE 3949 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _combinedSyntaxUsed ->
+                                 (case (({-# LINE 265 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         resetIfInconsistent _combinedSyntaxUsed
+                                         {-# LINE 3954 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _andSyntax ->
+                                  (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _andSyntax
+                                          {-# LINE 3959 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOandSyntax ->
+                                   (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _copy
+                                           {-# LINE 3964 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOcopy ->
+                                    (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsIindentation
+                                            {-# LINE 3969 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOindentation ->
+                                     (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIlineCommentSyntax
+                                             {-# LINE 3974 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOlineCommentSyntax ->
+                                      (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsImultilineCommentSyntax
+                                              {-# LINE 3979 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOmultilineCommentSyntax ->
+                                       (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIneqSyntax
+                                               {-# LINE 3984 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOneqSyntax ->
+                                        (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsInotSyntax
+                                                {-# LINE 3989 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOnotSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _lhsIorSyntax
+                                                 {-# LINE 3994 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 3999 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 266 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 4004 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 266 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "&&" "and"
+                                                    {-# LINE 4010 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 266 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 4015 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_CAnd_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Or :: T_Token
+sem_Token_Or =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Or
+                 {-# LINE 4027 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4032 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Or_1 :: T_Token_1
+                       sem_Token_Or_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4049 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4054 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4059 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4064 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4069 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4074 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4079 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 270 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax <> SyntaxUsed (Just _lhsImpos) Nothing
+                                               {-# LINE 4084 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _combinedSyntaxUsed ->
+                                        (case (({-# LINE 271 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                resetIfInconsistent _combinedSyntaxUsed
+                                                {-# LINE 4089 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _orSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _orSyntax
+                                                 {-# LINE 4094 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 4099 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 272 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 4104 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 272 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "or" "||"
+                                                    {-# LINE 4110 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 272 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 4115 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Or_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_COr :: T_Token
+sem_Token_COr =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 COr
+                 {-# LINE 4127 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4132 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_COr_1 :: T_Token_1
+                       sem_Token_COr_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4149 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4154 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4159 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4164 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4169 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4174 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4179 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 276 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax <> SyntaxUsed Nothing (Just _lhsImpos)
+                                               {-# LINE 4184 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _combinedSyntaxUsed ->
+                                        (case (({-# LINE 277 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                resetIfInconsistent _combinedSyntaxUsed
+                                                {-# LINE 4189 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _orSyntax ->
+                                         (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 _orSyntax
+                                                 {-# LINE 4194 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOorSyntax ->
+                                          (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                  _lhsIstrSyntax
+                                                  {-# LINE 4199 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                  )) of
+                                           { _lhsOstrSyntax ->
+                                           (case (({-# LINE 278 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                   []
+                                                   {-# LINE 4204 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                   )) of
+                                            { _warnings_augmented_syn ->
+                                            (case (({-# LINE 278 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                    if not (lint_syntaxInconsistencies _lhsIconfig) then id else
+                                                        warnInconsistency _combinedSyntaxUsed     $ SyntaxInconsistency "||" "or"
+                                                    {-# LINE 4210 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                    )) of
+                                             { _warnings_augmented_f1 ->
+                                             (case (({-# LINE 278 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                     foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]
+                                                     {-# LINE 4215 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                     )) of
+                                              { _lhsOwarnings ->
+                                              ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_COr_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Function :: T_Token
+sem_Token_Function =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Function
+                 {-# LINE 4227 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4232 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Function_1 :: T_Token_1
+                       sem_Token_Function_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4249 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4254 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4259 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4264 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4269 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4274 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4279 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4284 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4289 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4294 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Function_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Local :: T_Token
+sem_Token_Local =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Local
+                 {-# LINE 4306 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4311 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Local_1 :: T_Token_1
+                       sem_Token_Local_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4328 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4333 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4338 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4343 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4348 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4353 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4358 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4363 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4368 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4373 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Local_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_If :: T_Token
+sem_Token_If =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 If
+                 {-# LINE 4385 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4390 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_If_1 :: T_Token_1
+                       sem_Token_If_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4407 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4412 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4417 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4422 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4427 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4432 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4437 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4442 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4447 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4452 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_If_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Then :: T_Token
+sem_Token_Then =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Then
+                 {-# LINE 4464 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4469 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Then_1 :: T_Token_1
+                       sem_Token_Then_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4486 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4491 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4496 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4501 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4506 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4511 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4516 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4521 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4526 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4531 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Then_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Elseif :: T_Token
+sem_Token_Elseif =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Elseif
+                 {-# LINE 4543 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4548 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Elseif_1 :: T_Token_1
+                       sem_Token_Elseif_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4565 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4570 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4575 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4580 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4585 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4590 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4595 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4600 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4605 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4610 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Elseif_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Else :: T_Token
+sem_Token_Else =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Else
+                 {-# LINE 4622 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4627 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Else_1 :: T_Token_1
+                       sem_Token_Else_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4644 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4649 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4654 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4659 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4664 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4669 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4674 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4679 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4684 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4689 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Else_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_For :: T_Token
+sem_Token_For =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 For
+                 {-# LINE 4701 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4706 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_For_1 :: T_Token_1
+                       sem_Token_For_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4723 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4728 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4733 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4738 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4743 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4748 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4753 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4758 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4763 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4768 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_For_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_In :: T_Token
+sem_Token_In =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 In
+                 {-# LINE 4780 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4785 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_In_1 :: T_Token_1
+                       sem_Token_In_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4802 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4807 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4812 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4817 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4822 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4827 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4832 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4837 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4842 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4847 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_In_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Do :: T_Token
+sem_Token_Do =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Do
+                 {-# LINE 4859 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4864 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Do_1 :: T_Token_1
+                       sem_Token_Do_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4881 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4886 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4891 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4896 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4901 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4906 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4911 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4916 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 4921 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 4926 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Do_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_While :: T_Token
+sem_Token_While =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 While
+                 {-# LINE 4938 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 4943 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_While_1 :: T_Token_1
+                       sem_Token_While_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 4960 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 4965 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 4970 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 4975 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 4980 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 4985 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 4990 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 4995 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5000 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5005 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_While_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Until :: T_Token
+sem_Token_Until =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Until
+                 {-# LINE 5017 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5022 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Until_1 :: T_Token_1
+                       sem_Token_Until_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5039 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5044 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5049 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5054 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5059 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5064 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5069 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5074 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5079 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5084 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Until_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Repeat :: T_Token
+sem_Token_Repeat =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Repeat
+                 {-# LINE 5096 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5101 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Repeat_1 :: T_Token_1
+                       sem_Token_Repeat_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5118 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5123 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5128 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5133 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5138 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5143 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5148 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5153 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5158 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5163 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Repeat_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Continue :: T_Token
+sem_Token_Continue =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Continue
+                 {-# LINE 5175 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5180 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Continue_1 :: T_Token_1
+                       sem_Token_Continue_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5197 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5202 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5207 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5212 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5217 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5222 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5227 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5232 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5237 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5242 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Continue_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Break :: T_Token
+sem_Token_Break =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Break
+                 {-# LINE 5254 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5259 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Break_1 :: T_Token_1
+                       sem_Token_Break_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5276 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5281 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5286 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5291 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5296 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5301 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5306 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5311 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5316 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5321 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Break_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Return :: T_Token
+sem_Token_Return =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Return
+                 {-# LINE 5333 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5338 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Return_1 :: T_Token_1
+                       sem_Token_Return_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5355 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5360 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5365 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5370 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5375 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5380 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5385 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5390 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5395 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5400 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Return_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_End :: T_Token
+sem_Token_End =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 End
+                 {-# LINE 5412 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5417 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_End_1 :: T_Token_1
+                       sem_Token_End_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5434 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5439 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5444 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5449 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5454 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5459 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5464 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5469 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5474 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5479 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_End_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_LRound :: T_Token
+sem_Token_LRound =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 LRound
+                 {-# LINE 5491 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5496 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_LRound_1 :: T_Token_1
+                       sem_Token_LRound_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5513 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5518 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5523 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5528 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5533 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5538 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5543 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5548 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5553 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5558 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_LRound_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_RRound :: T_Token
+sem_Token_RRound =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 RRound
+                 {-# LINE 5570 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5575 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_RRound_1 :: T_Token_1
+                       sem_Token_RRound_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5592 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5597 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5602 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5607 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5612 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5617 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5622 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5627 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5632 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5637 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_RRound_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_LCurly :: T_Token
+sem_Token_LCurly =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 LCurly
+                 {-# LINE 5649 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5654 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_LCurly_1 :: T_Token_1
+                       sem_Token_LCurly_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5671 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5676 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5681 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5686 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5691 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5696 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5701 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5706 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5711 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5716 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_LCurly_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_RCurly :: T_Token
+sem_Token_RCurly =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 RCurly
+                 {-# LINE 5728 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5733 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_RCurly_1 :: T_Token_1
+                       sem_Token_RCurly_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5750 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5755 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5760 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5765 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5770 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5775 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5780 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5785 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5790 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5795 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_RCurly_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_LSquare :: T_Token
+sem_Token_LSquare =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 LSquare
+                 {-# LINE 5807 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5812 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_LSquare_1 :: T_Token_1
+                       sem_Token_LSquare_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5829 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5834 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5839 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5844 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5849 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5854 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5859 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5864 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5869 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5874 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_LSquare_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_RSquare :: T_Token
+sem_Token_RSquare =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 RSquare
+                 {-# LINE 5886 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 5891 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_RSquare_1 :: T_Token_1
+                       sem_Token_RSquare_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5908 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5913 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 5918 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 5923 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 5928 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 5933 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 5938 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 5943 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 5948 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 5953 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_RSquare_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Label :: String ->
+                   String ->
+                   String ->
+                   T_Token
+sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Label whitespaceBefore_ lbl_ whitespaceAfter_
+                 {-# LINE 5968 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 294 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceStr _lhsInextTokenPos (show _copy    )
+                  {-# LINE 5973 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Label_1 :: T_Token_1
+                       sem_Token_Label_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 5990 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 5995 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 6000 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 6005 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 6010 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 6015 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 6020 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 6025 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 6030 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 6035 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Label_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
+sem_Token_Identifier :: String ->
+                        T_Token
+sem_Token_Identifier ident_ =
+    (\ _lhsInextTokenPos ->
+         (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                 Identifier ident_
+                 {-# LINE 6048 "src/GLuaFixer/AG/LexLint.hs" #-}
+                 )) of
+          { _copy ->
+          (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}
+                  customAdvanceToken _lhsInextTokenPos _copy
+                  {-# LINE 6053 "src/GLuaFixer/AG/LexLint.hs" #-}
+                  )) of
+           { _lhsOnextTokenPos ->
+           (case ((let sem_Token_Identifier_1 :: T_Token_1
+                       sem_Token_Identifier_1 =
+                           (\ _lhsIandSyntax
+                              _lhsIconfig
+                              _lhsIindentation
+                              _lhsIlineCommentSyntax
+                              _lhsImpos
+                              _lhsImultilineCommentSyntax
+                              _lhsIneqSyntax
+                              _lhsInotSyntax
+                              _lhsIorSyntax
+                              _lhsIstrSyntax ->
+                                (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                        _lhsIandSyntax
+                                        {-# LINE 6070 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                        )) of
+                                 { _lhsOandSyntax ->
+                                 (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                         _copy
+                                         {-# LINE 6075 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                         )) of
+                                  { _lhsOcopy ->
+                                  (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                          _lhsIindentation
+                                          {-# LINE 6080 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                          )) of
+                                   { _lhsOindentation ->
+                                   (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                           _lhsIlineCommentSyntax
+                                           {-# LINE 6085 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                           )) of
+                                    { _lhsOlineCommentSyntax ->
+                                    (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                            _lhsImultilineCommentSyntax
+                                            {-# LINE 6090 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                            )) of
+                                     { _lhsOmultilineCommentSyntax ->
+                                     (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                             _lhsIneqSyntax
+                                             {-# LINE 6095 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                             )) of
+                                      { _lhsOneqSyntax ->
+                                      (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                              _lhsInotSyntax
+                                              {-# LINE 6100 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                              )) of
+                                       { _lhsOnotSyntax ->
+                                       (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                               _lhsIorSyntax
+                                               {-# LINE 6105 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                               )) of
+                                        { _lhsOorSyntax ->
+                                        (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                _lhsIstrSyntax
+                                                {-# LINE 6110 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                )) of
+                                         { _lhsOstrSyntax ->
+                                         (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}
+                                                 []
+                                                 {-# LINE 6115 "src/GLuaFixer/AG/LexLint.hs" #-}
+                                                 )) of
+                                          { _lhsOwarnings ->
+                                          ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))
+                   in  sem_Token_Identifier_1)) of
+            { ( sem_Token_1) ->
+            ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
diff --git a/src/GLuaFixer/BadSequenceFinder.hs b/src/GLuaFixer/BadSequenceFinder.hs
--- a/src/GLuaFixer/BadSequenceFinder.hs
+++ b/src/GLuaFixer/BadSequenceFinder.hs
@@ -3,8 +3,9 @@
 module GLuaFixer.BadSequenceFinder (sequenceWarnings, checkFromString) where
 
 import GLua.AG.Token
-import qualified GLua.PSLexer as PSL
-import GLua.PSParser
+import qualified GLua.Lexer as Lexer
+import GLua.Parser
+import GLua.Position (Region)
 import GLuaFixer.LintMessage
 import GLuaFixer.LintSettings
 import Text.Parsec
@@ -483,5 +484,5 @@
 -- | Helper function: check from string
 checkFromString :: AParser a -> String -> Either ParseError a
 checkFromString p inp = do
-  lexed <- PSL.execParseTokens inp
+  lexed <- Lexer.execParseTokens inp
   execAParser "source.lua" p lexed
diff --git a/src/GLuaFixer/Interface.hs b/src/GLuaFixer/Interface.hs
--- a/src/GLuaFixer/Interface.hs
+++ b/src/GLuaFixer/Interface.hs
@@ -2,19 +2,16 @@
 
 import GLua.AG.AST (AST)
 import GLua.AG.PrettyPrint (prettyprintConf)
-import GLua.AG.Token (MToken, Region)
-import qualified GLua.Lexer as UUL
+import GLua.AG.Token (MToken)
+import qualified GLua.Lexer as Lexer
 import GLua.LineLimitParser (LineLimit (..), execParseLineLimits)
-import qualified GLua.PSLexer as PSL
-import qualified GLua.PSParser as PSP
-import qualified GLua.Parser as UUP
+import qualified GLua.Parser as Parser
 import GLuaFixer.AG.ASTLint (astWarnings)
 import GLuaFixer.AG.LexLint (fixedLexPositions, lintWarnings)
 import GLuaFixer.BadSequenceFinder (sequenceWarnings)
 import GLuaFixer.LintMessage (Issue (..), LintMessage (..), Severity (..))
 import GLuaFixer.LintSettings (LintSettings (..), lint2ppSetting)
 import Text.Parsec.Error (errorPos)
-import Text.ParserCombinators.UU.BasicInstances (Error, LineColPos)
 
 -- | Run the linters that apply to the source code of a file
 sourceLint :: LintSettings -> FilePath -> String -> [LintMessage]
@@ -24,19 +21,11 @@
 -- | Generate the lexicon of a source file, used as input for the parser
 lex :: LintSettings -> FilePath -> String -> Either [LintMessage] [MToken]
 lex lintSettings filepath contents =
-  case PSL.execParseTokens contents of
+  case Lexer.execParseTokens contents of
     Left lexErr ->
-      Left [LintMessage LintError (PSL.sp2Rg $ errorPos lexErr) (IssueParseError lexErr) filepath | lint_syntaxErrors lintSettings]
+      Left [LintMessage LintError (Lexer.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
-lexUU :: LintSettings -> String -> ([MToken], [Error LineColPos])
-lexUU lintSettings contents = case UUL.execParseTokens contents of
-  (tokens, errors) ->
-    ( fixedLexPositions tokens
-    , [err | lint_syntaxErrors lintSettings, err <- errors]
-    )
-
 -- | Run the linting functions that inspect the lexicon
 lexiconLint :: FilePath -> LintSettings -> [MToken] -> [LintMessage]
 lexiconLint filepath lintSettings tokens =
@@ -46,16 +35,11 @@
 -- | Parse a lexicon into an Abstract Syntax Tree
 parse :: LintSettings -> FilePath -> [MToken] -> Either [LintMessage] AST
 parse lintSettings filepath tokens =
-  case PSP.parseGLua tokens of
+  case Parser.parseGLua tokens of
     Left err ->
       -- Return syntax errors
-      Left [LintMessage LintError (PSL.sp2Rg $ errorPos err) (IssueParseError err) filepath | lint_syntaxErrors lintSettings]
+      Left [LintMessage LintError (Lexer.sp2Rg $ errorPos err) (IssueParseError err) filepath | lint_syntaxErrors lintSettings]
     Right ast -> Right ast
-
--- | Parse a lexicon into an Abstract Syntax Tree using the slower, but error-correcting
--- uu-parsinglib
-parseUU :: [MToken] -> (AST, [Error Region])
-parseUU = UUP.parseGLua
 
 -- | Run the linters that inspect the AST
 astLint :: FilePath -> LintSettings -> AST -> [LintMessage]
diff --git a/src/GLuaFixer/LintMessage.hs b/src/GLuaFixer/LintMessage.hs
--- a/src/GLuaFixer/LintMessage.hs
+++ b/src/GLuaFixer/LintMessage.hs
@@ -7,12 +7,11 @@
 import Data.Aeson
 import Data.List (sortOn)
 import Data.Maybe (isJust)
+import GLua.AG.PrettyPrint (renderPSError, renderPos, renderRegion)
+import GLua.AG.Token (Token)
+import GLua.Position (LineColPos (..), Region (..))
 import System.Environment (lookupEnv)
 import Text.Parsec (ParseError)
-import Text.ParserCombinators.UU.BasicInstances hiding (msgs)
-
-import GLua.AG.PrettyPrint
-import GLua.AG.Token
 
 -- | Output formats for logging
 data LogFormat = StandardLogFormat | GithubLogFormat
diff --git a/src/GLuaFixer/LintSettings.hs b/src/GLuaFixer/LintSettings.hs
--- a/src/GLuaFixer/LintSettings.hs
+++ b/src/GLuaFixer/LintSettings.hs
@@ -78,7 +78,6 @@
   , prettyprint_removeRedundantParens :: !Bool
   , prettyprint_minimizeParens :: !Bool
   , prettyprint_assumeOperatorAssociativity :: !Bool
-  , prettyprint_rejectInvalidCode :: !Bool
   , prettyprint_indentation :: !String
   , log_format :: !LogFormatChoice
   }
@@ -127,7 +126,6 @@
     , prettyprint_removeRedundantParens = True
     , prettyprint_minimizeParens = False
     , prettyprint_assumeOperatorAssociativity = True
-    , prettyprint_rejectInvalidCode = False
     , prettyprint_indentation = "    "
     , log_format = AutoLogFormatChoice
     }
@@ -190,7 +188,6 @@
       <*> v .:? "prettyprint_removeRedundantParens" .!= prettyprint_removeRedundantParens defaultLintSettings
       <*> v .:? "prettyprint_minimizeParens" .!= prettyprint_minimizeParens defaultLintSettings
       <*> v .:? "prettyprint_assumeOperatorAssociativity" .!= prettyprint_assumeOperatorAssociativity defaultLintSettings
-      <*> v .:? "prettyprint_rejectInvalidCode" .!= prettyprint_rejectInvalidCode defaultLintSettings
       <*> v .:? "prettyprint_indentation" .!= prettyprint_indentation defaultLintSettings
       <*> v .:? "log_format" .!= log_format defaultLintSettings
   parseJSON _ = mzero
@@ -255,7 +252,6 @@
       , "prettyprint_removeRedundantParens" .= prettyprint_removeRedundantParens ls
       , "prettyprint_minimizeParens" .= prettyprint_minimizeParens ls
       , "prettyprint_assumeOperatorAssociativity" .= prettyprint_assumeOperatorAssociativity ls
-      , "prettyprint_rejectInvalidCode" .= prettyprint_rejectInvalidCode ls
       , "prettyprint_indentation" .= prettyprint_indentation ls
       , "log_format" .= log_format ls
       ]
diff --git a/tests/golden/data/input/various-comments.lua b/tests/golden/data/input/various-comments.lua
--- a/tests/golden/data/input/various-comments.lua
+++ b/tests/golden/data/input/various-comments.lua
@@ -56,6 +56,8 @@
 local function foo() -- same-line-comment
 end
 
+-- Rendering of comments after return (or instead of return) reported here:
+-- https://github.com/FPtje/GLuaFixer/issues/170#issuecomment-1828253356
 function foo()
     -- Comment before return
     return 1, 2, 3 -- comment on same line as return
diff --git a/tests/golden/data/output/issue-106.lua b/tests/golden/data/output/issue-106.lua
--- a/tests/golden/data/output/issue-106.lua
+++ b/tests/golden/data/output/issue-106.lua
@@ -1,5 +1,7 @@
 a(
     {b},
-    function() end, -- comment
+    function()
+        -- comment
+    end,
     function() end
 )
diff --git a/tests/golden/data/output/various-comments.lua b/tests/golden/data/output/various-comments.lua
--- a/tests/golden/data/output/various-comments.lua
+++ b/tests/golden/data/output/various-comments.lua
@@ -1,6 +1,8 @@
 -- Comment before if-statement
-if false then end -- same-line comment
--- print("TODO")
+if false then -- same-line comment
+    -- print("TODO")
+end
+
 if true then
     a = 2 -- bar
 end
@@ -26,28 +28,33 @@
 end
 
 -- Comment before if-statement
-if true then return end
--- comment after return on new line
+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 or false then return end --[[ comment in condition]] -- single line comment in condition
 for var = 1, 10 do -- same-line comment
+    -- print("TODO")
 end
 
--- print("TODO")
 for k, v in pairs(player.GetAll()) do -- same-line comment
+    -- print("TODO")
 end
 
--- print("TODO")
 function foo() -- same-line-comment
 end
 
 local function foo() -- same-line-comment
 end
 
+-- Rendering of comments after return (or instead of return) reported here:
+-- https://github.com/FPtje/GLuaFixer/issues/170#issuecomment-1828253356
 function foo()
     -- Comment before return
     return 1, 2, 3 -- comment on same line as return
+    -- comment after return
 end
--- comment after return
diff --git a/tests/linttest/Spec.hs b/tests/linttest/Spec.hs
new file mode 100644
--- /dev/null
+++ b/tests/linttest/Spec.hs
@@ -0,0 +1,71 @@
+import qualified Data.ByteString.Lazy as LBS
+import qualified Data.ByteString.Lazy.Char8 as LBS8
+import GLua.Position (LineColPos (..), Region (..))
+import qualified GLuaFixer.Interface as GLua
+import GLuaFixer.LintMessage (
+  Issue (..),
+  LintMessage (..),
+  Severity (..),
+ )
+import GLuaFixer.LintSettings (LintSettings, defaultLintSettings)
+import Test.Tasty (TestTree, defaultMain, testGroup)
+import Test.Tasty.HUnit (testCase, (@=?))
+
+main :: IO ()
+main = defaultMain tests
+
+tests :: TestTree
+tests =
+  testGroup
+    "Unit tests"
+    [ testQuotedStringWarningPosition
+    , testEmptyIfWarningPosition
+    ]
+
+-- | Regression test for https://github.com/FPtje/GLuaFixer/issues/169
+testQuotedStringWarningPosition :: TestTree
+testQuotedStringWarningPosition =
+  testCase "The syntax inconsistency warning is thrown and in the right region" $
+    let
+      input = "bar = a or b\nfoo = \"\" and \"\" and \"dddd\" || \"[]\""
+      expectedRegion1 = Region (LineColPos 0 8 8) (LineColPos 0 10 10)
+      warning1 = SyntaxInconsistency "||" "or"
+      msg1 = LintMessage LintWarning expectedRegion1 warning1 testFilePath
+
+      expectedRegion2 = Region (LineColPos 1 27 40) (LineColPos 1 29 42)
+      warning2 = SyntaxInconsistency "||" "or"
+      msg2 = LintMessage LintWarning expectedRegion2 warning2 testFilePath
+    in
+      [msg1, msg2] @=? lintString input
+
+-- | Regression test for https://github.com/FPtje/GLuaFixer/issues/170
+testEmptyIfWarningPosition :: TestTree
+testEmptyIfWarningPosition = do
+  testCase "The empty-if-statement is thrown and in the right region for if-statements" $
+    let
+      inputEmptyIf = "if true then end"
+      inputWithElse = "if true then\nelse print(1) end"
+      expectedRegionEmptyIf = Region (LineColPos 0 0 0) (LineColPos 0 16 16)
+      expectedRegionWithElse = Region (LineColPos 0 0 0) (LineColPos 1 0 13)
+      warning = EmptyIf
+      msgEmptyIf = LintMessage LintWarning expectedRegionEmptyIf warning testFilePath
+      msgWithElse = LintMessage LintWarning expectedRegionWithElse warning testFilePath
+    in
+      do
+        lintString inputEmptyIf @=? [msgEmptyIf]
+        lintString inputWithElse @=? [msgWithElse]
+
+-- | Helper to lint a string
+lintString :: String -> [LintMessage]
+lintString input =
+  let
+    settings = defaultLintSettings
+  in
+    case GLua.lex settings testFilePath input of
+      Left errs -> errs
+      Right mTokens -> case GLua.parse settings testFilePath mTokens of
+        Left errs -> errs
+        Right ast -> GLua.lexiconLint testFilePath settings mTokens <> GLua.astLint testFilePath settings ast
+
+testFilePath :: String
+testFilePath = "test input"
