diff --git a/src/Quasar/Wayland/Protocol/TH.hs b/src/Quasar/Wayland/Protocol/TH.hs
index 3d6c526b3b7c2dab9f1fb2ba89cb007b222de8da..e421e3ec5df04f58db824883e2ad392e24acb64f 100644
--- a/src/Quasar/Wayland/Protocol/TH.hs
+++ b/src/Quasar/Wayland/Protocol/TH.hs
@@ -5,7 +5,7 @@ module Quasar.Wayland.Protocol.TH (
 import Control.Monad.STM
 import Control.Monad.Writer
 import Data.ByteString qualified as BS
-import Data.List (intersperse)
+import Data.List (intersperse, singleton)
 import Data.Void (absurd)
 import GHC.Records (getField)
 import Language.Haskell.TH
@@ -95,10 +95,6 @@ generateWaylandProcol protocolFile = do
 
 tellQ :: Q a -> WriterT [a] Q ()
 tellQ action = tell =<< lift (singleton <$> action)
-  where
-    -- TODO use from base (base-4.14.0.0)
-    singleton :: a -> [a]
-    singleton x = [x]
 
 tellQs :: Q [a] -> WriterT [a] Q ()
 tellQs = tell <=< lift