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/Di/Atomic.hs b/lib/Polysemy/Log/Di/Atomic.hs
--- a/lib/Polysemy/Log/Di/Atomic.hs
+++ b/lib/Polysemy/Log/Di/Atomic.hs
@@ -1,9 +1,8 @@
 -- |Description: Internal
 module Polysemy.Log.Di.Atomic where
 
+import Control.Concurrent.STM (newTVarIO)
 import qualified DiPolysemy as Di
-import Polysemy (interpretH, runTSimple)
-import Polysemy.Internal (InterpretersFor)
 import Polysemy.Internal.Tactics (liftT)
 
 -- |Interpret 'Di.Di' by prepending each message to a list in an 'AtomicState'.
@@ -26,6 +25,6 @@
   Member (Embed IO) r =>
   InterpretersFor [Di.Di level path msg, AtomicState [msg]] r
 interpretDiAtomic sem = do
-  tv <- newTVarIO []
+  tv <- embed (newTVarIO [])
   runAtomicStateTVar tv (interpretDiAtomic' sem)
 {-# inline interpretDiAtomic #-}
diff --git a/lib/Polysemy/Log/Di/Di.hs b/lib/Polysemy/Log/Di/Di.hs
--- a/lib/Polysemy/Log/Di/Di.hs
+++ b/lib/Polysemy/Log/Di/Di.hs
@@ -2,13 +2,10 @@
 module Polysemy.Log.Di.Di where
 
 import qualified DiPolysemy as Di
-import Polysemy (interpretH, runT)
-import Polysemy.Async (Async)
 import Polysemy.Conc (Race)
-import Polysemy.Internal (InterpretersFor, raise2Under)
 import Polysemy.Internal.Tactics (liftT)
-import Polysemy.Resource (Resource)
 import Polysemy.Time (GhcTime)
+import Prelude hiding (Local)
 
 import Polysemy.Log.Data.DataLog (DataLog (DataLog, Local))
 import Polysemy.Log.Data.Log (Log)
diff --git a/polysemy-log-di.cabal b/polysemy-log-di.cabal
--- a/polysemy-log-di.cabal
+++ b/polysemy-log-di.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-di
-version:        0.4.3.0
+version:        0.5.0.0
 synopsis:       Di Adapters for Polysemy-Log
 description:    See <https://hackage.haskell.org/package/polysemy-log-di/docs/Polysemy-Log-Di.html>
 category:       Logging
@@ -30,10 +30,6 @@
       Polysemy.Log.Di
       Polysemy.Log.Di.Atomic
       Polysemy.Log.Di.Di
-  other-modules:
-      Paths_polysemy_log_di
-  autogen-modules:
-      Paths_polysemy_log_di
   hs-source-dirs:
       lib
   default-extensions:
@@ -97,15 +93,15 @@
   ghc-options: -Wall -Wredundant-constraints -Wunused-packages -Widentities
   build-depends:
       base ==4.*
-    , di-polysemy >=0.2.0.0
+    , di-polysemy >=0.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-di-unit
@@ -113,7 +109,6 @@
   main-is: Main.hs
   other-modules:
       Polysemy.Log.Di.Test.SimpleTest
-      Paths_polysemy_log_di
   hs-source-dirs:
       test
   default-extensions:
@@ -177,13 +172,13 @@
   ghc-options: -Wall -Wredundant-constraints -Wunused-packages -Widentities -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       base ==4.*
+    , incipit-core >=0.1.0.1
     , polysemy >=1.5
     , polysemy-log
     , polysemy-log-di
     , polysemy-test
+    , 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 *di* adapter for [polysemy-log](https://hackage.haskell.org/package/polysemy-log).
-
-```haskell
-import Polysemy.Log
-import Polysemy.Log.Di
-
-prog :: Member Log r => Sem r ()
-prog = do
-  Log.debug "debugging"
-  Log.error "failing"
+Interpreters for [polysemy-log] using the [di] backend.
 
-interpretLogDi prog :: Sem [Di.Di Severity path (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/di-polysemy)
+[Hackage](https://hackage.haskell.org/package/polysemy-log-di)
