diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,12 @@
 
 Released 2025-08-09.
 
+-   Fix compilation error.
+
+## hslua-module-system-1.2.2
+
+Released 2025-08-09.
+
 -   Lists of file paths now have a "FilePath list" metatable that
     add list methods.
 
diff --git a/hslua-module-system.cabal b/hslua-module-system.cabal
--- a/hslua-module-system.cabal
+++ b/hslua-module-system.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                hslua-module-system
-version:             1.2.2
+version:             1.2.3
 synopsis:            Lua module wrapper around Haskell's System module.
 
 description:         Provides access to system information and
@@ -39,7 +39,6 @@
   default-language:    Haskell2010
   build-depends:       base                 >= 4.11   && < 5
                      , hslua-core           >= 2.1    && < 2.4
-                     , hslua-list           >= 1.1    && < 1.2
                      , hslua-packaging      >= 2.3    && < 2.4
   default-extensions:  LambdaCase
                      , OverloadedStrings
@@ -64,6 +63,7 @@
   build-depends:       bytestring           >= 0.10.2 && < 0.13
                      , directory            >= 1.3.2  && < 1.4
                      , exceptions           >= 0.8    && < 0.11
+                     , hslua-list           >= 1.1    && < 1.2
                      , hslua-marshalling    >= 2.1    && < 2.4
                      , process              >= 1.2.3  && < 1.7
                      , temporary            >= 1.2    && < 1.4
diff --git a/src/HsLua/Module/System.hs b/src/HsLua/Module/System.hs
--- a/src/HsLua/Module/System.hs
+++ b/src/HsLua/Module/System.hs
@@ -295,7 +295,7 @@
   <#> opt (stringParam "directory"
            ("Path of the directory whose contents should be listed. "
             `T.append` "Defaults to `.`."))
-  =#> functionResult (pushFilePathList pushString) "table"
+  =#> functionResult pushFilePathList "table"
         ("A table of all entries in `directory`, except for the "
           `T.append` "special entries (`.`  and `..`).")
   #? "List the contents of a directory."
@@ -565,7 +565,7 @@
   <#> opt (filepathParam "filepath"
            ("relative path that is appended to the path; ignored " <>
             "if the result is a list of search paths."))
-  =#> functionResult (either pushString (pushFilePathList pushString))
+  =#> functionResult (either pushString pushFilePathList)
         "string|{string,...}"
         "Either a single file path, or a list of search paths."
   #? T.unlines
