diff --git a/src/Quasar/Wayland/Client.hs b/src/Quasar/Wayland/Client.hs
index 9401c948c619ce1616422caab65076aaddcf659e..9544447593c8bd503740237c2d1cdebceaf020eb 100644
--- a/src/Quasar/Wayland/Client.hs
+++ b/src/Quasar/Wayland/Client.hs
@@ -5,7 +5,6 @@ module Quasar.Wayland.Client (
   connectWaylandSocket,
 ) where
 
-import Control.Concurrent.STM
 import Control.Monad.Catch
 import Network.Socket (Socket)
 import Network.Socket qualified as Socket
diff --git a/src/Quasar/Wayland/Display.hs b/src/Quasar/Wayland/Display.hs
index 7130da200922e71776771de371b6d3ccff651e7f..4d8a0872c519a1e575bede7cfa3f0088821e6bb9 100644
--- a/src/Quasar/Wayland/Display.hs
+++ b/src/Quasar/Wayland/Display.hs
@@ -4,9 +4,6 @@ module Quasar.Wayland.Display (
 ) where
 
 import Control.Concurrent.STM
-import Control.Monad.Catch
-import Data.ByteString.UTF8 qualified as BS
-import Data.HashMap.Strict qualified as HM
 import Quasar.Prelude
 import Quasar.Wayland.Protocol
 import Quasar.Wayland.Protocol.Display
diff --git a/src/Quasar/Wayland/Protocol.hs b/src/Quasar/Wayland/Protocol.hs
index e3cb54d7738deb6c4463ccb6c13ef1aa083f5d7d..8f85cf3144c9379a1a2dea17a269c4ee964af846 100644
--- a/src/Quasar/Wayland/Protocol.hs
+++ b/src/Quasar/Wayland/Protocol.hs
@@ -6,7 +6,7 @@ module Quasar.Wayland.Protocol (
   -- ** Wire types
   ObjectId,
   GenericObjectId,
-  NewId(..),
+  NewId,
   Fixed(..),
 
   -- ** Classes for generated interfaces
diff --git a/src/Quasar/Wayland/Protocol/Display.hs b/src/Quasar/Wayland/Protocol/Display.hs
index 0a0bf173d4e2c855f13399c1df36fe63b14188f7..3b58452c598bd80387991f93921e8985b8aefd65 100644
--- a/src/Quasar/Wayland/Protocol/Display.hs
+++ b/src/Quasar/Wayland/Protocol/Display.hs
@@ -2,7 +2,6 @@ module Quasar.Wayland.Protocol.Display (
   clientWlDisplayCallback,
 ) where
 
-import Control.Concurrent.STM
 import Control.Monad.Catch
 import Data.ByteString.UTF8 qualified as BS
 import Data.HashMap.Strict qualified as HM
diff --git a/src/Quasar/Wayland/Protocol/TH.hs b/src/Quasar/Wayland/Protocol/TH.hs
index 14fbc6e883f79fac7d860034988b52e28633976b..9f27a5f03eed048ce65960f08b12a2d75f4d99ea 100644
--- a/src/Quasar/Wayland/Protocol/TH.hs
+++ b/src/Quasar/Wayland/Protocol/TH.hs
@@ -5,7 +5,6 @@ module Quasar.Wayland.Protocol.TH (
 import Control.Monad.Writer
 import Data.ByteString qualified as BS
 import Language.Haskell.TH
---import Language.Haskell.TH.Lib
 import Language.Haskell.TH.Syntax (BangType, addDependentFile)
 import Language.Haskell.TH.Syntax qualified as TH
 import Data.List (intersperse)
diff --git a/src/Quasar/Wayland/Registry.hs b/src/Quasar/Wayland/Registry.hs
index 23555aa9dd3d8e8763965fde3947273bde1b0965..0bb0ef61803516ecf1679b6f35adeb7124384564 100644
--- a/src/Quasar/Wayland/Registry.hs
+++ b/src/Quasar/Wayland/Registry.hs
@@ -7,7 +7,6 @@ import Control.Concurrent.STM
 import Control.Monad.Fix (mfix)
 import Control.Monad.Reader (lift)
 import Data.ByteString qualified as BS
-import Data.ByteString.UTF8 qualified as BS
 import Data.HashMap.Strict qualified as HM
 import Data.Tuple (swap)
 import Quasar.Prelude