diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,11 @@
 
 `hslua-module-system` uses [PVP Versioning][].
 
+## hslua-module-system-1.1.0
+
+-   Update to hslua-2.3; this includes the addition of type
+    initializers to the module and type specifiers to the fields.
+
 ## hslua-module-system-1.0.3
 
 Released 2023-02-14.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2019-2022 Albert Krewinkel
+Copyright (c) 2019-2023 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
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.0.3
+version:             1.1.0
 synopsis:            Lua module wrapper around Haskell's System module.
 
 description:         Provides access to system information and
@@ -14,8 +14,8 @@
 license:             MIT
 license-file:        LICENSE
 author:              Albert Krewinkel
-maintainer:          albert+hslua@zeitkraut.de
-copyright:           © 2019-2022 Albert Krewinkel <albert+hslua@zeitkraut.de>
+maintainer:          tarleb@hslua.org
+copyright:           © 2019-2023 Albert Krewinkel <tarleb@hslua.org>
 category:            Foreign
 extra-source-files:  CHANGELOG.md
                    , test/test-system.lua
@@ -34,9 +34,9 @@
 
 common common-options
   default-language:    Haskell2010
-  build-depends:       base                 >= 4.8    && < 5
+  build-depends:       base                 >= 4.11   && < 5
                      , hslua-core           >= 2.1    && < 2.4
-                     , hslua-packaging      >= 2.1    && < 2.3
+                     , hslua-packaging      >= 2.3    && < 2.4
                      , text                 >= 1.2    && < 2.1
   default-extensions:  LambdaCase
                      , OverloadedStrings
@@ -57,7 +57,7 @@
   import:              common-options
   build-depends:       directory            >= 1.3    && < 1.4
                      , exceptions           >= 0.8    && < 0.11
-                     , hslua-marshalling    >= 2.0    && < 2.3
+                     , hslua-marshalling    >= 2.1    && < 2.4
                      , temporary            >= 1.2    && < 1.4
   exposed-modules:     HsLua.Module.System
   other-modules:       HsLua.Module.SystemUtils
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
@@ -1,8 +1,8 @@
 {-|
 Module      : HsLua.Module.System
-Copyright   : © 2019-2022 Albert Krewinkel
+Copyright   : © 2019-2023 Albert Krewinkel
 License     : MIT
-Maintainer  : Albert Krewinkel <albert+hslua@zeitkraut.de>
+Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : alpha
 Portability : Requires GHC 8 or later.
 
@@ -81,6 +81,7 @@
       , with_wd
       ]
   , moduleOperations = []
+  , moduleTypeInitializers = []
   , moduleDescription =
       "Access to the system's information and file functionality."
   }
@@ -94,6 +95,7 @@
 arch :: Field e
 arch = Field
   { fieldName = "arch"
+  , fieldType = "string"
   , fieldDescription =
       "The machine architecture on which the program is running."
   , fieldPushValue = pushString Info.arch
@@ -104,6 +106,7 @@
 compiler_name :: Field e
 compiler_name = Field
   { fieldName = "compiler_name"
+  , fieldType = "string"
   , fieldDescription = "The Haskell implementation with which the host "
                        `T.append` "program was compiled."
   , fieldPushValue = pushString Info.compilerName
@@ -114,6 +117,7 @@
 compiler_version :: LuaError e => Field e
 compiler_version = Field
   { fieldName = "compiler_version"
+  , fieldType = "string"
   , fieldDescription = T.unwords
       [ "The Haskell implementation with which the host "
       , "program was compiled." ]
@@ -125,6 +129,7 @@
 cputime_precision :: Field e
 cputime_precision = Field
   { fieldName = "cputime_precision"
+  , fieldType = "integer"
   , fieldDescription = T.unlines
       [ "The smallest measurable difference in CPU time that the"
       , "implementation can record, and is given as an integral number of"
@@ -138,6 +143,7 @@
 os :: Field e
 os = Field
   { fieldName = "os"
+  , fieldType = "string"
   , fieldDescription = "The operating system on which the program is running."
   , fieldPushValue = pushString Info.os
   }
diff --git a/src/HsLua/Module/SystemUtils.hs b/src/HsLua/Module/SystemUtils.hs
--- a/src/HsLua/Module/SystemUtils.hs
+++ b/src/HsLua/Module/SystemUtils.hs
@@ -1,8 +1,8 @@
 {-|
 Module      : HsLua.Module.SystemUtils
-Copyright   : © 2019-2022 Albert Krewinkel
+Copyright   : © 2019-2023 Albert Krewinkel
 License     : MIT
-Maintainer  : Albert Krewinkel <albert+hslua@zeitkraut.de>
+Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 
 Utility functions and types for HsLua's system module.
 -}
diff --git a/test/test-hslua-module-system.hs b/test/test-hslua-module-system.hs
--- a/test/test-hslua-module-system.hs
+++ b/test/test-hslua-module-system.hs
@@ -2,9 +2,9 @@
 {-# LANGUAGE TypeApplications  #-}
 {-|
 Module      : Main
-Copyright   : © 2019-2022 Albert Krewinkel
+Copyright   : © 2019-2023 Albert Krewinkel
 License     : MIT
-Maintainer  : Albert Krewinkel <albert+hslua@zeitkraut.de>
+Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : alpha
 Portability : Requires language extensions ForeignFunctionInterface,
               OverloadedStrings.
