diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/lib/Polysemy/Log/Colog/Atomic.hs b/lib/Polysemy/Log/Colog/Atomic.hs
--- a/lib/Polysemy/Log/Colog/Atomic.hs
+++ b/lib/Polysemy/Log/Colog/Atomic.hs
@@ -2,8 +2,7 @@
 module Polysemy.Log.Colog.Atomic where
 
 import qualified Colog.Polysemy as Colog
-
-import Polysemy.Internal (InterpretersFor)
+import Control.Concurrent.STM (newTVarIO)
 
 -- |Interpret 'Colog.Log' by prepending each message to a list in an 'AtomicState'.
 interpretCologAtomic' ::
@@ -16,12 +15,12 @@
 {-# inline interpretCologAtomic' #-}
 
 -- |Interpret 'Colog.Log' by prepending each message to a list in an 'AtomicState', then interpret the 'AtomicState' in
--- a 'TVar'.
+-- a 'Control.Concurrent.STM.TVar'.
 interpretCologAtomic ::
   ∀ a r .
   Member (Embed IO) r =>
   InterpretersFor [Colog.Log a, AtomicState [a]] r
 interpretCologAtomic sem = do
-  tv <- newTVarIO []
+  tv <- embed (newTVarIO [])
   runAtomicStateTVar tv (interpretCologAtomic' sem)
 {-# inline interpretCologAtomic #-}
diff --git a/lib/Polysemy/Log/Colog/Colog.hs b/lib/Polysemy/Log/Colog/Colog.hs
--- a/lib/Polysemy/Log/Colog/Colog.hs
+++ b/lib/Polysemy/Log/Colog/Colog.hs
@@ -1,22 +1,20 @@
--- |Description: Interpreters
+-- |Description: Interpreters for 'Log' and 'DataLog' using a co-log backend.
 module Polysemy.Log.Colog.Colog where
 
-import qualified Colog (Message, Msg(Msg), Severity(..), logTextStdout, richMessageAction)
+import qualified Colog (Message, Msg (Msg), Severity (..), logTextStdout, richMessageAction)
 import qualified Colog.Polysemy as Colog
 import Colog.Polysemy (runLogAction)
-import Polysemy (interpretH, runT)
-import Polysemy.Async (Async)
+import Control.Monad.IO.Class (MonadIO)
 import Polysemy.Conc (Race)
-import Polysemy.Internal (InterpretersFor)
 import Polysemy.Internal.Tactics (liftT)
-import Polysemy.Resource (Resource)
 import Polysemy.Time (GhcTime, interpretTimeGhc)
+import Prelude hiding (Local)
 
 import Polysemy.Log.Conc (interceptDataLogConc)
-import Polysemy.Log.Data.DataLog (DataLog(DataLog, Local))
+import Polysemy.Log.Data.DataLog (DataLog (DataLog, Local))
 import Polysemy.Log.Data.Log (Log)
 import Polysemy.Log.Data.LogEntry (LogEntry (LogEntry))
-import Polysemy.Log.Data.LogMessage (LogMessage(..))
+import Polysemy.Log.Data.LogMessage (LogMessage (..))
 import qualified Polysemy.Log.Data.Severity as Severity
 import Polysemy.Log.Data.Severity (Severity)
 import Polysemy.Log.Format (formatLogEntry)
diff --git a/lib/Polysemy/Log/Colog/Conc.hs b/lib/Polysemy/Log/Colog/Conc.hs
--- a/lib/Polysemy/Log/Colog/Conc.hs
+++ b/lib/Polysemy/Log/Colog/Conc.hs
@@ -6,7 +6,6 @@
 import Colog.Concurrent.Internal (Capacity)
 import qualified Colog.Polysemy as Colog
 import Colog.Polysemy (runLogAction)
-import Polysemy.Resource (Resource, bracket)
 
 import Polysemy.Log.Data.LogEntry (LogEntry)
 import Polysemy.Log.Data.LogMessage (LogMessage)
@@ -20,9 +19,9 @@
   LogAction IO msg ->
   InterpreterFor (Colog.Log msg) r
 interpretCologConcNativeWith capacity action sem = do
-  bracket (embed (forkBackgroundLogger capacity action)) (embed . killBackgroundLogger) run
+  bracket (embed (forkBackgroundLogger capacity action)) (embed . killBackgroundLogger) use
   where
-    run worker =
+    use worker =
       runLogAction (convertToLogAction @IO worker) sem
 {-# inline interpretCologConcNativeWith #-}
 
diff --git a/polysemy-log-co.cabal b/polysemy-log-co.cabal
--- a/polysemy-log-co.cabal
+++ b/polysemy-log-co.cabal
@@ -1,11 +1,11 @@
 cabal-version: 2.2
 
--- This file has been generated from package.yaml by hpack version 0.34.4.
+-- This file has been generated from package.yaml by hpack version 0.34.6.
 --
 -- see: https://github.com/sol/hpack
 
 name:           polysemy-log-co
-version:        0.4.3.0
+version:        0.5.0.0
 synopsis:       Colog Adapters for Polysemy-Log
 description:    See <https://hackage.haskell.org/package/polysemy-log-co/docs/Polysemy-Log-Colog.html>
 category:       Logging
@@ -31,10 +31,6 @@
       Polysemy.Log.Colog.Atomic
       Polysemy.Log.Colog.Colog
       Polysemy.Log.Colog.Conc
-  other-modules:
-      Paths_polysemy_log_co
-  autogen-modules:
-      Paths_polysemy_log_co
   hs-source-dirs:
       lib
   default-extensions:
@@ -99,16 +95,15 @@
   build-depends:
       base ==4.*
     , co-log >=0.4.0.1
-    , co-log-core >=0.2.1
     , co-log-polysemy >=0.0.1.2
+    , incipit-core >=0.1.0.1
     , polysemy >=1.5
-    , polysemy-conc >=0.1.0.0
+    , polysemy-conc >=0.6
     , polysemy-log
-    , polysemy-time >=0.1.1.0
+    , polysemy-time >=0.3
+    , stm
   mixins:
       base hiding (Prelude)
-    , polysemy-log hiding (Polysemy.Log.Prelude)
-    , polysemy-log (Polysemy.Log.Prelude as Prelude)
   default-language: Haskell2010
 
 test-suite polysemy-log-co-unit
@@ -118,7 +113,6 @@
       Polysemy.Log.Colog.Test.ConcTest
       Polysemy.Log.Colog.Test.ExampleTest
       Polysemy.Log.Colog.Test.SimpleTest
-      Paths_polysemy_log_co
   hs-source-dirs:
       test
   default-extensions:
@@ -184,14 +178,14 @@
       base ==4.*
     , co-log
     , co-log-polysemy
+    , incipit-core >=0.1.0.1
     , polysemy >=1.5
     , polysemy-log
     , polysemy-log-co
     , polysemy-test
     , polysemy-time
+    , stm
     , tasty
   mixins:
       base hiding (Prelude)
-    , polysemy-log hiding (Polysemy.Log.Prelude)
-    , polysemy-log (Polysemy.Log.Prelude as Prelude)
   default-language: Haskell2010
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -1,21 +1,7 @@
-# About
-
-The *co-log* adapter for [polysemy-log](https://hackage.haskell.org/package/polysemy-log).
-
-```haskell
-import Polysemy.Log
-import Polysemy.Log.Colog
-
-prog :: Member Log r => Sem r ()
-prog = do
-  Log.debug "debugging"
-  Log.error "failing"
+Interpreters for [polysemy-log] using the [co-log] backend.
 
-interpretLogColog prog :: Sem [Colog.Log (LogEntry LogMessage), Embed IO] ()
-interpretLogStdout prog :: Sem '[Embed IO] ()
-```
+For docs, please visit [Hackage].
 
-For more documentation, please consult Hackage:
-* [polysemy-log](https://hackage.haskell.org/package/polysemy-log)
-* [polysemy-log-co](https://hackage.haskell.org/package/polysemy-log-co)
-* [polysemy-log-di](https://hackage.haskell.org/package/polysemy-log-di)
+[polysemy-log](https://hackage.haskell.org/package/polysemy-log)
+[co-log](https://hackage.haskell.org/package/co-log-polysemy)
+[Hackage](https://hackage.haskell.org/package/polysemy-log-co)
diff --git a/test/Polysemy/Log/Colog/Test/ConcTest.hs b/test/Polysemy/Log/Colog/Test/ConcTest.hs
--- a/test/Polysemy/Log/Colog/Test/ConcTest.hs
+++ b/test/Polysemy/Log/Colog/Test/ConcTest.hs
@@ -11,6 +11,7 @@
 import Polysemy.Log.Data.LogEntry (LogEntry)
 import Polysemy.Log.Data.LogMessage (LogMessage(LogMessage))
 import qualified Polysemy.Log.Data.Severity as Severity
+import Control.Concurrent.STM (newTVarIO, atomically, modifyTVar', readTVarIO)
 
 prog ::
   Member Log r =>
@@ -26,8 +27,8 @@
 test_concColog :: UnitTest
 test_concColog =
   runTestAuto do
-    tv <- newTVarIO []
+    tv <- embed (newTVarIO [])
     let action msg = atomically (modifyTVar' tv (msg :))
     interpretCologConcNativeWith @(LogEntry LogMessage) defCapacity (LogAction action) (interpretLogColog' prog)
-    msgs <- readTVarIO tv
+    msgs <- embed (readTVarIO tv)
     assertEq @_ @IO target (LogEntry.message <$> msgs)
diff --git a/test/Polysemy/Log/Colog/Test/ExampleTest.hs b/test/Polysemy/Log/Colog/Test/ExampleTest.hs
--- a/test/Polysemy/Log/Colog/Test/ExampleTest.hs
+++ b/test/Polysemy/Log/Colog/Test/ExampleTest.hs
@@ -2,7 +2,6 @@
 
 import Colog (logTextStdout)
 import Colog.Polysemy (runLogAction)
-import Polysemy (runM)
 
 import Polysemy.Log.Colog (interpretDataLogColog, interpretLogStdout)
 import qualified Polysemy.Log.Data.DataLog as DataLog
