diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for language-Modula2
 
+## 0.1.3 -- 2022-10-23
+
+* Using `autochain` and new imports from grammatical-parsers-0.7
+
 ## 0.1.2 -- 2022-10-09
 
 * Compiling with GHC 9
diff --git a/app/Parse.hs b/app/Parse.hs
--- a/app/Parse.hs
+++ b/app/Parse.hs
@@ -40,7 +40,6 @@
 import Data.Typeable (Typeable)
 import Options.Applicative
 import Text.Grampa (Ambiguous, Grammar, ParseResults, parseComplete, failureDescription)
-import qualified Text.Grampa.ContextFree.LeftRecursive as LeftRecursive
 import ReprTree
 import System.FilePath (FilePath, addExtension, combine, takeDirectory)
 
diff --git a/language-Modula2.cabal b/language-Modula2.cabal
--- a/language-Modula2.cabal
+++ b/language-Modula2.cabal
@@ -1,7 +1,7 @@
 cabal-version:       2.4
 
 name:                language-Modula2
-version:             0.1.2
+version:             0.1.3
 synopsis:            Parser, pretty-printer, and more for the Modula-2 programming language
 description:
    The library and the executable supports two versions of the Modula-2 programming language: as described by the
@@ -26,7 +26,7 @@
   -- other-modules:
   build-depends:       base >= 4.7 && < 5, text < 3, containers >= 0.5 && < 1.0, filepath < 1.5, directory < 1.4,
                        parsers >= 0.12.7 && < 0.13, input-parsers >= 0.2.2 && < 0.4, prettyprinter >= 1.2.1 && < 1.7,
-                       rank2classes >= 1.3 && < 1.5, grammatical-parsers >= 0.5 && < 0.8, deep-transformations == 0.2.*,
+                       rank2classes >= 1.3 && < 1.5, grammatical-parsers >= 0.7 && < 0.8, deep-transformations == 0.2.*,
                        template-haskell >= 2.11 && < 2.20,
                        language-oberon >= 0.3 && < 0.4
   hs-source-dirs:      src
diff --git a/src/Language/Modula2.hs b/src/Language/Modula2.hs
--- a/src/Language/Modula2.hs
+++ b/src/Language/Modula2.hs
@@ -34,7 +34,6 @@
 import Data.Text (Text, unpack)
 import Data.Text.IO (readFile)
 import Text.Grampa (Ambiguous, Grammar, ParseResults, parseComplete, failureDescription)
-import qualified Text.Grampa.ContextFree.LeftRecursive as LeftRecursive
 import qualified Text.Parser.Input.Position as Position
 import System.Directory (doesFileExist)
 import System.FilePath (FilePath, addExtension, combine, takeDirectory)
diff --git a/src/Language/Modula2/Grammar.hs b/src/Language/Modula2/Grammar.hs
--- a/src/Language/Modula2/Grammar.hs
+++ b/src/Language/Modula2/Grammar.hs
@@ -16,7 +16,7 @@
 import Data.Text (Text, unpack)
 import Numeric (readOct, readDec, readHex, readFloat)
 import Text.Grampa
-import Text.Grampa.ContextFree.LeftRecursive.Transformer (ParserT, lift, tmap)
+import Text.Grampa.ContextFree.SortedMemoizing.Transformer.LeftRecursive (ParserT, autochain, lift, tmap)
 import Text.Parser.Combinators (sepBy, sepBy1, sepByNonEmpty, try)
 import Text.Parser.Token (braces, brackets, parens)
 
@@ -110,7 +110,7 @@
 $(Rank2.TH.deriveAll ''Modula2Grammar)
 
 modula2grammar :: Grammar (Modula2Grammar AST.Language NodeWrap) Parser Text
-modula2grammar = fixGrammar grammar
+modula2grammar = autochain $ fixGrammar grammar
 
 -- | All the productions of Modula-2 grammar
 grammar :: forall l g. (Abstract.Modula2 l, Rank2.Apply g, LexicalParsing (Parser g Text))
diff --git a/src/Language/Modula2/ISO/Grammar.hs b/src/Language/Modula2/ISO/Grammar.hs
--- a/src/Language/Modula2/ISO/Grammar.hs
+++ b/src/Language/Modula2/ISO/Grammar.hs
@@ -13,7 +13,7 @@
 import Data.Text (Text, unpack)
 import Numeric (readOct, readDec, readHex, readFloat)
 import Text.Grampa
-import Text.Grampa.ContextFree.LeftRecursive.Transformer (lift, tmap)
+import Text.Grampa.ContextFree.SortedMemoizing.Transformer.LeftRecursive (autochain, lift, tmap)
 import Text.Parser.Combinators (sepBy, sepBy1, sepByNonEmpty, try)
 import Text.Parser.Token (braces, brackets, parens)
 
@@ -80,7 +80,7 @@
 type ISOGrammar l = Rank2.Product (ISOMixin l ReportGrammar.NodeWrap) (ReportGrammar.Modula2Grammar l ReportGrammar.NodeWrap)
 
 modula2ISOgrammar :: Grammar (ISOGrammar AST.Language) Parser Text
-modula2ISOgrammar = fixGrammar isoGrammar
+modula2ISOgrammar = autochain $ fixGrammar isoGrammar
 
 -- | All the productions of the ISO Modula-2 grammar
 isoGrammar :: forall l g. (ISO.Abstract.Modula2 l, Rank2.Apply g, LexicalParsing (Parser g Text))
