diff --git a/core/HaskellWorks/Polysemy/Error/Types/JsonDecodeError.hs b/core/HaskellWorks/Polysemy/Error/Types/JsonDecodeError.hs
--- a/core/HaskellWorks/Polysemy/Error/Types/JsonDecodeError.hs
+++ b/core/HaskellWorks/Polysemy/Error/Types/JsonDecodeError.hs
@@ -1,45 +1,7 @@
-{-# LANGUAGE DataKinds             #-}
-{-# LANGUAGE DeriveGeneric         #-}
-{-# LANGUAGE DuplicateRecordFields #-}
-{-# LANGUAGE NoFieldSelectors      #-}
-{-# LANGUAGE OverloadedRecordDot   #-}
-
 module HaskellWorks.Polysemy.Error.Types.JsonDecodeError
   ( JsonDecodeError(..)
   , newJsonDecodeError
   ) where
 
 
-import           Data.Aeson           (ToJSON (..), Value, (.=))
-import qualified Data.Aeson           as J
-import           GHC.Generics
-
-import           HaskellWorks.Prelude
-import           HaskellWorks.ToText
-
-data JsonDecodeError =
-  JsonDecodeError
-  { message    :: Text
-  , bytestring :: Maybe ByteString
-  , text       :: Maybe Text
-  , json       :: Maybe Value
-  }
-  deriving (Eq, Generic, Show)
-
-newJsonDecodeError :: ToText a => a -> JsonDecodeError
-newJsonDecodeError message =
-  JsonDecodeError
-    { message    = toText message
-    , bytestring = Nothing
-    , text       = Nothing
-    , json       = Nothing
-    }
-
-instance ToJSON JsonDecodeError where
-  toJSON e =
-    J.object
-        [ "error" .= id @Text "JsonDecodeError"
-        , "message" .= e.message
-        , "text" .= e.text
-        , "json" .= e.json
-        ]
+import           HaskellWorks.Error.Types.JsonDecodeError
diff --git a/core/HaskellWorks/Polysemy/Error/Types/YamlDecodeError.hs b/core/HaskellWorks/Polysemy/Error/Types/YamlDecodeError.hs
--- a/core/HaskellWorks/Polysemy/Error/Types/YamlDecodeError.hs
+++ b/core/HaskellWorks/Polysemy/Error/Types/YamlDecodeError.hs
@@ -1,25 +1,6 @@
-{-# LANGUAGE DataKinds             #-}
-{-# LANGUAGE DeriveGeneric         #-}
-{-# LANGUAGE DuplicateRecordFields #-}
-
 module HaskellWorks.Polysemy.Error.Types.YamlDecodeError
   ( YamlDecodeError(..)
   ) where
 
 
-import           Data.Aeson           (ToJSON (..), (.=))
-import qualified Data.Aeson           as J
-import           GHC.Generics
-import           HaskellWorks.Prelude
-newtype YamlDecodeError =
-  YamlDecodeError
-  { message :: Text
-  }
-  deriving (Eq, Generic, Show)
-
-instance ToJSON YamlDecodeError where
-  toJSON e =
-        J.object
-            [ "error" .= id @Text "YamlDecodeError"
-            , "message" .= e.message
-            ]
+import           HaskellWorks.Error.Types.YamlDecodeError
diff --git a/hw-polysemy.cabal b/hw-polysemy.cabal
--- a/hw-polysemy.cabal
+++ b/hw-polysemy.cabal
@@ -1,6 +1,6 @@
 cabal-version:          3.4
 name:                   hw-polysemy
-version:                0.3.1.1
+version:                0.3.1.2
 synopsis:               Opinionated polysemy library
 description:            Opinionated polysemy library.
 license:                Apache-2.0
@@ -36,7 +36,7 @@
 common ghc-prim                   { build-depends: ghc-prim                                    < 0.14   }
 common hedgehog                   { build-depends: hedgehog                                    < 1.6    }
 common http-conduit               { build-depends: http-conduit               >= 2.3        && < 2.4    }
-common hw-prelude                 { build-depends: hw-prelude                 >= 0.0.1.0    && < 0.1    }
+common hw-prelude                 { build-depends: hw-prelude                 >= 0.0.4.2    && < 0.1    }
 common microlens                  { build-depends: microlens                                   < 5      }
 common lens                       { build-depends: lens                                        < 5.4    }
 common mtl                        { build-depends: mtl                                         < 2.6    }
