diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog
 
+## 0.1.4.3
+
+- Add missing export for Dir.
+
 ## 0.1.4.2
 
 - Support retry-0.9
diff --git a/matrix-client.cabal b/matrix-client.cabal
--- a/matrix-client.cabal
+++ b/matrix-client.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                matrix-client
-version:             0.1.4.2
+version:             0.1.4.3
 synopsis:            A matrix client library
 description:
     Matrix client is a library to interface with https://matrix.org.
@@ -22,7 +22,7 @@
 build-type:          Simple
 extra-doc-files:     CHANGELOG.md
 extra-source-files:  test/data/*.json
-tested-with:         GHC == 8.10.4
+tested-with:         GHC == 8.10.7, GHC == 9.2.4
 
 source-repository head
   type:                git
diff --git a/src/Network/Matrix/Client.hs b/src/Network/Matrix/Client.hs
--- a/src/Network/Matrix/Client.hs
+++ b/src/Network/Matrix/Client.hs
@@ -39,6 +39,7 @@
     getTokenOwner,
 
     -- * Room Events
+    Dir (..),
     EventType (..),
     MRCreate (..),
     MRCanonicalAlias (..),
@@ -414,7 +415,11 @@
   request <- mkRequest session True $ "/_matrix/client/v3/rooms/" <> rid <> "/state" <> et <> "/" <> key
   doRequest session request
 
-data Dir = F | B
+data Dir
+  = -- | Forward
+    F
+  | -- | Backward
+    B
 
 renderDir :: Dir -> B.ByteString
 renderDir F = "f"
diff --git a/src/Network/Matrix/Tutorial.hs b/src/Network/Matrix/Tutorial.hs
--- a/src/Network/Matrix/Tutorial.hs
+++ b/src/Network/Matrix/Tutorial.hs
@@ -10,7 +10,7 @@
 -- > git clone https://github.com/matrix-org/dendrite
 -- > cd dendrite; ./build.sh; ./bin/generate-keys --private-key matrix_key.pem; cp dendrite-config.yaml dendrite.yaml
 -- > ./bin/dendrite-monolith-server --config dendrite.yaml
--- > curl -XPOST http://localhost:8008/_matrix/client/r0/register -d'{"username": "tristanC", "password": "supersecret", "auth": {"type": "mlogin.dummy"}}
+-- > curl -XPOST http://localhost:8008/_matrix/client/r0/register -d'{"username": "tristanC", "password": "supersecret", "auth": {"type": "m.login.dummy"}}'
 --
 -- To avoid manipulating the token directly, put it in your environment:
 --
