diff --git a/Data/Parser/Grempa/Grammar/Untyped.hs b/Data/Parser/Grempa/Grammar/Untyped.hs
--- a/Data/Parser/Grempa/Grammar/Untyped.hs
+++ b/Data/Parser/Grempa/Grammar/Untyped.hs
@@ -166,10 +166,10 @@
 
     fixf :: Token s => First s ()
     fixf = do
-        state <- get
+        stat <- get
         fs
-        state' <- get
-        when (state /= state') fixf
+        stat' <- get
+        when (stat /= stat') fixf
 
 -- | Get all symbols that can follow a rule,
 --   also given the start rule and a list of all rules
diff --git a/Data/Parser/Grempa/Parser/Static.hs b/Data/Parser/Grempa/Parser/Static.hs
--- a/Data/Parser/Grempa/Parser/Static.hs
+++ b/Data/Parser/Grempa/Parser/Static.hs
@@ -49,7 +49,7 @@
     lamE [varP st, varP r]
         $ caseE (tupE [varE st, varE r])
             $ map mkMatch tab
-            ++ [match wildP (normalB [|-1|]) []] -- Hacky (unknown goto is -1)
+            ++ [match wildP (normalB [|-1 :: Int|]) []] -- Hacky (unknown goto is -1)
   where
     mkMatch (k, v) =
         match (toPat k) (normalB [|v|]) []
diff --git a/Grempa.cabal b/Grempa.cabal
--- a/Grempa.cabal
+++ b/Grempa.cabal
@@ -1,5 +1,5 @@
 Name:                Grempa
-Version:             0.1.2
+Version:             0.1.3
 Synopsis:            Embedded grammar DSL and LALR parser generator
 Description:
     A library for expressing programming language grammars in a form similar
@@ -39,10 +39,10 @@
       Default: False
 Library
     Build-depends:   array            == 0.3.*
-                   , base             == 4.2.*
-                   , containers       == 0.3.*
-                   , monads-fd        == 0.2.*
-                   , template-haskell == 2.4.*
+                   , base             == 4.2.* || == 4.3.*
+                   , containers       == 0.3.* || == 0.4.*
+                   , mtl              == 2.0.*
+                   , template-haskell == 2.4.* || == 2.5.*
                    , th-lift          == 0.5.*
     Exposed-modules: Data.Parser.Grempa.Grammar
                    , Data.Parser.Grempa.Static
diff --git a/examples/Ex4StateA.hs b/examples/Ex4StateA.hs
--- a/examples/Ex4StateA.hs
+++ b/examples/Ex4StateA.hs
@@ -2,7 +2,7 @@
 module Ex4StateA (state, Expr, St, evalSt) where
 
 import Control.Applicative
-import Control.Monad.State
+import Control.Monad.State hiding (state)
 import Data.Data
 import Data.List
 import Data.Maybe
diff --git a/examples/Ex4StateParser.hs b/examples/Ex4StateParser.hs
--- a/examples/Ex4StateParser.hs
+++ b/examples/Ex4StateParser.hs
@@ -3,7 +3,7 @@
 
 import Data.Parser.Grempa.Static
 import Data.Parser.Grempa.Dynamic
-import Control.Monad.State
+import Control.Monad.State hiding (state)
 
 -- Import the grammar.
 import Ex4StateB
