diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+0.7.3 [2022.05.18]
+------------------
+* Allow building with `mtl-2.3.*` and `transformers-0.6.*`.
+
 0.7.2 [2021.02.17]
 ------------------
 * The build-type has been changed from `Custom` to `Simple`.
diff --git a/examples/machines-examples.cabal b/examples/machines-examples.cabal
--- a/examples/machines-examples.cabal
+++ b/examples/machines-examples.cabal
@@ -24,8 +24,10 @@
              , GHC == 8.2.2
              , GHC == 8.4.4
              , GHC == 8.6.5
-             , GHC == 8.8.3
-             , GHC == 8.10.1
+             , GHC == 8.8.4
+             , GHC == 8.10.7
+             , GHC == 9.0.2
+             , GHC == 9.2.2
 
 source-repository head
   type: git
@@ -35,7 +37,7 @@
   build-depends:
     base         == 4.*,
     machines     == 0.7.*,
-    mtl          >= 2 && < 2.3
+    mtl          >= 2 && < 2.4
 
   exposed-modules:
     Examples
diff --git a/machines.cabal b/machines.cabal
--- a/machines.cabal
+++ b/machines.cabal
@@ -1,6 +1,6 @@
 name:          machines
 category:      Control, Enumerator
-version:       0.7.2
+version:       0.7.3
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -25,8 +25,10 @@
              , GHC == 8.2.2
              , GHC == 8.4.4
              , GHC == 8.6.5
-             , GHC == 8.8.3
-             , GHC == 8.10.1
+             , GHC == 8.8.4
+             , GHC == 8.10.7
+             , GHC == 9.0.2
+             , GHC == 9.2.2
 extra-source-files:
   .gitignore
   .vim.custom
@@ -52,9 +54,9 @@
     profunctors  >= 3     && < 6,
     semigroupoids >= 5    && < 6,
     semigroups   >= 0.8.3 && < 1,
-    transformers >= 0.3   && < 0.6,
+    transformers >= 0.3   && < 0.7,
     transformers-compat >= 0.3,
-    mtl          >= 2     && < 2.3,
+    mtl          >= 2     && < 2.4,
     void         >= 0.6.1 && < 1
 
   exposed-modules:
@@ -110,6 +112,6 @@
     conduit             >= 1.3   && < 1.4,
     criterion           >= 0.6   && < 1.6,
     machines,
-    mtl                 >= 2     && < 2.3,
+    mtl                 >= 2     && < 2.4,
     pipes               >= 4     && < 4.4,
     streaming           >= 0.1.4 && < 0.3
diff --git a/src/Data/Machine/Is.hs b/src/Data/Machine/Is.hs
--- a/src/Data/Machine/Is.hs
+++ b/src/Data/Machine/Is.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE GADTs, TypeFamilies #-}
+{-# LANGUAGE GADTs, TypeFamilies, TypeOperators #-}
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Machine.Is
diff --git a/src/Data/Machine/Mealy.hs b/src/Data/Machine/Mealy.hs
--- a/src/Data/Machine/Mealy.hs
+++ b/src/Data/Machine/Mealy.hs
@@ -200,7 +200,7 @@
      go as f = (f (NonEmpty.fromList (Prelude.reverse as)), Mealy $ \b -> go (b:as) f)
 
 instance Closed Mealy where
-  closed m = cotabulate $ \fs x -> cosieve m (fmap ($x) fs)
+  closed m = cotabulate $ \fs x -> cosieve m (fmap ($ x) fs)
 
 instance Semigroup b => Semigroup (Mealy a b) where
   f <> g = Mealy $ \x -> runMealy f x <> runMealy g x
diff --git a/src/Data/Machine/Moore.hs b/src/Data/Machine/Moore.hs
--- a/src/Data/Machine/Moore.hs
+++ b/src/Data/Machine/Moore.hs
@@ -153,7 +153,7 @@
   local = localRep
 
 instance Closed Moore where
-  closed m = cotabulate $ \fs x -> cosieve m (fmap ($x) fs)
+  closed m = cotabulate $ \fs x -> cosieve m (fmap ($ x) fs)
 
 instance Semigroup b => Semigroup (Moore a b) where
   Moore x f <> Moore y g = Moore (x <> y) (f <> g)
diff --git a/src/Data/Machine/Type.hs b/src/Data/Machine/Type.hs
--- a/src/Data/Machine/Type.hs
+++ b/src/Data/Machine/Type.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE Rank2Types #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE FlexibleInstances #-}
 -----------------------------------------------------------------------------
 -- |
