diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,10 @@
-## [*Unreleased*](https://github.com/freckle/graphula/compare/v2.0.0.1...main)
+## [*Unreleased*](https://github.com/freckle/graphula/compare/v2.0.0.2...main)
 
 None
+
+## [v2.0.0.1](https://github.com/freckle/graphula/compare/v2.0.0.1...v2.0.0.2)
+
+- Support GHC-8.10 and unliftio-core 2.0.0
 
 ## [v2.0.0.1](https://github.com/faktory/graphula/tree/v2.0.0.1)
 
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -38,6 +38,7 @@
 import Graphula.UUIDKey
 import Test.Hspec
 import Test.QuickCheck
+import Text.Markdown.Unlit ()
 
 instance (ToBackendKey SqlBackend a) => Arbitrary (Key a) where
   arbitrary = toSqlKey <$> arbitrary
diff --git a/graphula.cabal b/graphula.cabal
--- a/graphula.cabal
+++ b/graphula.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               graphula
-version:            2.0.0.1
+version:            2.0.0.2
 license:            MIT
 license-file:       LICENSE
 maintainer:         Freckle Education
@@ -51,6 +51,10 @@
         unliftio >=0.2.13.1 && <0.3,
         unliftio-core >=0.1.2.0 && <0.2
 
+    if impl(ghc >=8.10)
+        ghc-options:
+            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module
+
 test-suite readme
     type:             exitcode-stdio-1.0
     main-is:          README.lhs
@@ -80,8 +84,11 @@
         persistent-sqlite >=2.10.6.2 && <2.11,
         persistent-template >=2.8.2.3 && <2.9,
         resourcet >=1.2.4.2 && <1.3,
-        semigroups >=0.19.1 && <0.20,
         text >=1.2.4.0 && <1.3,
         transformers >=0.5.6.2 && <0.6,
         unliftio-core >=0.1.2.0 && <0.2,
         uuid >=1.3.13 && <1.4
+
+    if impl(ghc >=8.10)
+        ghc-options:
+            -Wno-missing-safe-haskell-mode -Wno-prepositive-qualified-module
diff --git a/src/Graphula.hs b/src/Graphula.hs
--- a/src/Graphula.hs
+++ b/src/Graphula.hs
@@ -168,9 +168,6 @@
   lift = GraphulaT . lift
 
 instance MonadUnliftIO m => MonadUnliftIO (GraphulaT n m) where
-  {-# INLINE askUnliftIO #-}
-  askUnliftIO = GraphulaT $ withUnliftIO $ \u ->
-    return $ UnliftIO $ unliftIO u . runGraphulaT'
   {-# INLINE withRunInIO #-}
   withRunInIO inner =
     GraphulaT $ withRunInIO $ \run -> inner $ run . runGraphulaT'
@@ -223,9 +220,6 @@
   deriving newtype (Functor, Applicative, Monad, MonadIO, MonadReader (IORef (m ())))
 
 instance MonadUnliftIO m => MonadUnliftIO (GraphulaIdempotentT m) where
-  {-# INLINE askUnliftIO #-}
-  askUnliftIO = GraphulaIdempotentT $ withUnliftIO $ \u ->
-    return $ UnliftIO $ unliftIO u . runGraphulaIdempotentT'
   {-# INLINE withRunInIO #-}
   withRunInIO inner = GraphulaIdempotentT $ withRunInIO $ \run ->
     inner $ run . runGraphulaIdempotentT'
@@ -352,7 +346,7 @@
   -- note: The contents of a tuple must be ordered as they appear in the
   -- definition of @a@.
   type Dependencies a
-  type instance Dependencies a = ()
+  type instance Dependencies _a = ()
 
   -- | Specify the method for resolving a node's key
   --
@@ -369,7 +363,7 @@
   -- externally.
   --
   type KeySource a :: KeySourceType
-  type instance KeySource a = 'SourceDefault
+  type instance KeySource _a = 'SourceDefault
 
   -- | Assign values from the 'Dependencies' collection to a value.
   -- 'dependsOn' must be an idempotent operation.
diff --git a/test/README.lhs b/test/README.lhs
--- a/test/README.lhs
+++ b/test/README.lhs
@@ -38,6 +38,7 @@
 import Graphula.UUIDKey
 import Test.Hspec
 import Test.QuickCheck
+import Text.Markdown.Unlit ()
 
 instance (ToBackendKey SqlBackend a) => Arbitrary (Key a) where
   arbitrary = toSqlKey <$> arbitrary
