diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -5,7 +5,9 @@
 - `Data.TypedEncoding.Common.Class.IsStringR` expected to be be changed / replaced
 - (post 0.5) "enc-B64" could be moved to a different package (more distant goal)
 
+## 0.5.2.2
 
+- `instance UnexpectedDecodeErr Identity` does not use `fail` to allow for base >= 4.9 compilation
 ## 0.5.2.1
 
 - documentation improvements
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -102,6 +102,7 @@
 ## Tested with
 
 - stack (1.9.3) lts-14.27 (ghc-8.6.5)
+- stack (2.5.1) lts-16.27 (ghc-8.8.4)
 - needs ghc >= 8.2.2, base >=4.10 for GHC.TypeLits support
 
 ## Known issues
diff --git a/src/Data/TypedEncoding/Common/Class/Decode.hs b/src/Data/TypedEncoding/Common/Class/Decode.hs
--- a/src/Data/TypedEncoding/Common/Class/Decode.hs
+++ b/src/Data/TypedEncoding/Common/Class/Decode.hs
@@ -50,7 +50,7 @@
     unexpectedDecodeErr :: UnexpectedDecodeEx -> f a
 
 instance UnexpectedDecodeErr Identity where
-    unexpectedDecodeErr x = fail $ show x
+    unexpectedDecodeErr x = error $ show x
 
 instance UnexpectedDecodeErr (Either UnexpectedDecodeEx) where
     unexpectedDecodeErr = Left 
diff --git a/typed-encoding.cabal b/typed-encoding.cabal
--- a/typed-encoding.cabal
+++ b/typed-encoding.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.1.
+-- This file has been generated from package.yaml by hpack version 0.33.0.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 08175a1ab64ba86ea1a414806e2b66063f5fa0c3659e8335a376682440107c09
+-- hash: 2e99f3592215d03b39a9590e192dd29732e41968794d724d3309f8104bd496fd
 
 name:           typed-encoding
-version:        0.5.2.1
+version:        0.5.2.2
 synopsis:       Type safe string transformations
 description:    See README.md in the project github repository.
 category:       Data, Text
