diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
 The following license covers this documentation, and the source code, except
 where otherwise indicated.
 
-Copyright 2018-2020, Alexey Radkov. All rights reserved.
+Copyright 2018-2021, Alexey Radkov. All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions are met:
diff --git a/NgxExport/Tools.hs b/NgxExport/Tools.hs
--- a/NgxExport/Tools.hs
+++ b/NgxExport/Tools.hs
@@ -4,7 +4,7 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  NgxExport.Tools
--- Copyright   :  (c) Alexey Radkov 2018-2020
+-- Copyright   :  (c) Alexey Radkov 2018-2021
 -- License     :  BSD-style
 --
 -- Maintainer  :  alexey.radkov@gmail.com
@@ -71,6 +71,7 @@
 import           Data.Aeson
 import           Data.Function (on)
 import           Data.Ord (comparing)
+import           Data.Proxy
 import           Control.Monad
 import           Control.Arrow
 import           Control.Exception
@@ -177,7 +178,7 @@
 
 class FromByteString a where
     type WrappedT a
-    fromByteString :: a -> ByteString -> Maybe (WrappedT a)
+    fromByteString :: Proxy a -> ByteString -> Maybe (WrappedT a)
 
 instance Read a => FromByteString (Readable a) where
     type WrappedT (Readable a) = a
@@ -329,14 +330,14 @@
 --
 -- Returns 'Nothing' if reading fails.
 readFromByteString :: Read a => ByteString -> Maybe a
-readFromByteString = fromByteString (undefined :: Readable a)
+readFromByteString = fromByteString (Proxy :: Proxy (Readable a))
 
 -- | Reads an object of a custom type implementing an instance of 'FromJSON'
 --   from a 'ByteString'.
 --
 -- Returns 'Nothing' if reading fails.
 readFromByteStringAsJSON :: FromJSON a => ByteString -> Maybe a
-readFromByteStringAsJSON = fromByteString (undefined :: ReadableAsJSON a)
+readFromByteStringAsJSON = fromByteString (Proxy :: Proxy (ReadableAsJSON a))
 
 -- | Reads a pointer to the Nginx request object followed by an object of
 --   a custom type implementing an instance of 'Read' from a 'ByteString'.
@@ -599,7 +600,7 @@
                                      ) (return . Just)
                            |]
                    else [|return $
-                              fromByteString (undefined :: ByteString)
+                              fromByteString (Proxy :: Proxy ByteString)
                                   $(eConfBs)
                         |]
         (waitTime, runService) =
diff --git a/ngx-export-tools.cabal b/ngx-export-tools.cabal
--- a/ngx-export-tools.cabal
+++ b/ngx-export-tools.cabal
@@ -1,5 +1,5 @@
 name:                       ngx-export-tools
-version:                    0.4.9.1
+version:                    0.4.9.2
 synopsis:                   Extra tools for Nginx haskell module
 description:                Extra tools for
         <http://github.com/lyokha/nginx-haskell-module Nginx haskell module>.
@@ -10,7 +10,7 @@
 author:                     Alexey Radkov <alexey.radkov@gmail.com>
 maintainer:                 Alexey Radkov <alexey.radkov@gmail.com>
 stability:                  experimental
-copyright:                  2018-2020 Alexey Radkov
+copyright:                  2018-2021 Alexey Radkov
 category:                   Network
 build-type:                 Simple
 cabal-version:              1.20
