diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # ChangeLog
 
+## 0.1.25
+
+* fix syntax error, for GHC 9.2
+  [#64](https://github.com/kazu-yamamoto/quic/pull/64)
+
 ## 0.1.24
 
 * Introducing `onConnectionEstablished` into `Hooks`.
diff --git a/Network/QUIC.hs b/Network/QUIC.hs
--- a/Network/QUIC.hs
+++ b/Network/QUIC.hs
@@ -36,12 +36,23 @@
     sendStreamMany,
 
     -- * Information
-    ConnectionInfo (..),
+    ConnectionInfo,
     getConnectionInfo,
+    version,
+    cipher,
+    alpn,
+    handshakeMode,
+    retry,
+    localSockAddr,
+    remoteSockAddr,
+    localCID,
+    remoteCID,
 
     -- * Statistics
-    ConnectionStats (..),
+    ConnectionStats,
     getConnectionStats,
+    txBytes,
+    rxBytes,
 
     -- * Synchronization
     wait0RTTReady,
diff --git a/Network/QUIC/Config.hs b/Network/QUIC/Config.hs
--- a/Network/QUIC/Config.hs
+++ b/Network/QUIC/Config.hs
@@ -141,6 +141,16 @@
     , scDebugLog :: Maybe FilePath
     , scTicketLifetime :: Int
     -- ^ A lifetime (in seconds) for TLS session ticket and QUIC token.
+    , scWildcardSocketonly :: Bool
+    -- ^ If 'True', only wild sockets are used.
+    -- Packets are dispatched in Haskell code according to
+    -- destination connection ID. This is an overhead however
+    -- clinets can make QUIC connections even if intermediate NATs
+    -- rebind UDP ports frequently.
+    -- Otherwise, connected sockets are also used.
+    -- This means that packets are dispatched by a kernel.
+    -- But unfortunately, clients cannot make QUIC connections
+    -- if intermediate NATs rebind UDP ports frequently.
     }
 
 -- | The default value for server configuration.
@@ -164,4 +174,5 @@
         , scSessionManager = noSessionManager
         , scDebugLog = Nothing
         , scTicketLifetime = 7200
+        , scWildcardSocketonly = True
         }
diff --git a/quic.cabal b/quic.cabal
--- a/quic.cabal
+++ b/quic.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               quic
-version:            0.1.24
+version:            0.1.25
 license:            BSD3
 license-file:       LICENSE
 maintainer:         kazu@iij.ad.jp
diff --git a/util/quic-client.hs b/util/quic-client.hs
--- a/util/quic-client.hs
+++ b/util/quic-client.hs
@@ -398,11 +398,11 @@
             }
 
 printThroughput :: UnixTime -> UnixTime -> ConnectionStats -> IO ()
-printThroughput t1 t2 ConnectionStats{..} =
+printThroughput t1 t2 stats =
     printf
         "Throughput %.2f Mbps (%d bytes in %d msecs)\n"
         bytesPerSeconds
-        rxBytes
+        (rxBytes stats)
         millisecs
   where
     UnixDiffTime (CTime s) u = t2 `diffUnixTime` t1
@@ -410,7 +410,7 @@
     millisecs = fromIntegral s * 1000 + fromIntegral u `div` 1000
     bytesPerSeconds :: Double
     bytesPerSeconds =
-        fromIntegral rxBytes
+        fromIntegral (rxBytes stats)
             * (1000 :: Double)
             * 8
             / fromIntegral millisecs
