diff --git a/serokell-util.cabal b/serokell-util.cabal
--- a/serokell-util.cabal
+++ b/serokell-util.cabal
@@ -1,135 +1,134 @@
-name: serokell-util
-version: 0.1.2.3
-cabal-version: >=1.10
-build-type: Simple
-license: MIT
-license-file: LICENSE
-copyright: 2016 Serokell
-maintainer: Serokell <hi@serokell.io>
-homepage: https://github.com/serokell/serokell-util
-synopsis: General-purpose functions by Serokell
-description:
-    Serokell-util is a library consisting of functions, which
-    are not included in standard libraries, but are useful for
-    multiple projects. This library was created when it was
-    found that in new projects we need to use some utility
-    functions from existing projects and don't want to
-    copy-paste them.
-category: Utils
-author: Serokell
+name:                serokell-util
+version:             0.1.2.4
+synopsis:            General-purpose functions by Serokell
+homepage:            https://github.com/serokell/serokell-util
+license:             MIT
+license-file:        LICENSE
+category:            Utils
+author:              Serokell
+maintainer:          Serokell <hi@serokell.io>
+copyright:           2016 Serokell
+build-type:          Simple
+description:         Serokell-util is a library consisting of functions, which
+                     are not included in standard libraries, but are useful for
+                     multiple projects. This library was created when it was
+                     found that in new projects we need to use some utility
+                     functions from existing projects and don't want to
+                     copy-paste them.
+-- extra-source-files:
+cabal-version:       >=1.10
 
 library
-    exposed-modules:
-        Serokell.AcidState
-        Serokell.AcidState.ExtendedState
-        Serokell.AcidState.Instances
-        Serokell.AcidState.Statistics
-        Serokell.AcidState.Util
-        Serokell.Arbitrary
-        Serokell.Aeson.Options
-        Serokell.Data.Memory.Units
-        Serokell.Data.Variant
-        Serokell.Util
-        Serokell.Util.Base
-        Serokell.Util.Base16
-        Serokell.Util.Base64
-        Serokell.Util.Bench
-        Serokell.Util.Binary
-        Serokell.Util.Common
-        Serokell.Util.Concurrent
-        Serokell.Util.I18N
-        Serokell.Util.Parse
-        Serokell.Util.OptParse
-        Serokell.Util.Exceptions
-        Serokell.Util.Lens
-        Serokell.Util.StaticAssert
-        Serokell.Util.Text
-        Serokell.Util.Verify
-    build-depends:
-        QuickCheck >=2.8.1,
-        acid-state >=0.14.2,
-        aeson >=0.11.0.0 && <1.0.0.0,
-        aeson-extra >=0.4.0.0,
-        base >=4.8 && <5,
-        base16-bytestring >=0.1.1.6,
-        base64-bytestring >=1.0.0.1,
-        binary >=0.8.3.0,
-        binary-orphans >=0.1.5.1,
-        bytestring >=0.10.8.1,
-        cereal >=0.5.3.0,
-        cereal-vector >=0.2.0.1,
-        containers >=0.5.7.1,
-        clock >=0.7.2,
-        data-msgpack >=0.0.8,
-        deepseq >=1.4.2.0,
-        directory >=1.2.6.2,
-        either >=4.4.1.1,
-        exceptions >=0.8.3,
-        extra >=1.4.10,
-        filepath >=1.4.1.0,
-        formatting >=6.2.2,
-        hashable >=1.2.4.0,
-        lens >=4.14,
-        monad-control >=1.0.1.0,
-        mtl >=2.2.1,
-        optparse-applicative >=0.12.1.0,
-        parsec >=3.1.11,
-        quickcheck-instances >=0.3.12,
-        safecopy >=0.9.0.1,
-        scientific >=0.3.4.9,
-        semigroups >=0.18.2,
-        stm >=2.4.4,
-        template-haskell >=2.11.0.0,
-        text >=1.2.2.1,
-        text-format >=0.3.1.1,
-        time-units >=1.0.0,
-        transformers >=0.5.2.0,
-        unordered-containers >=0.2.7.0,
-        vector >=0.11.0.0,
-        yaml >=0.8.18.7
-    default-language: Haskell2010
-    default-extensions: OverloadedStrings RecordWildCards
-                        DeriveDataTypeable GeneralizedNewtypeDeriving
-    hs-source-dirs: src
-    other-modules:
-        Serokell.Data.Variant.Class
-        Serokell.Data.Variant.Helpers
-        Serokell.Data.Variant.Serialization
-        Serokell.Data.Variant.Variant
-        Serokell.Util.Parse.Base64
-        Serokell.Util.Parse.Common
-        Serokell.Util.Parse.Network
-    ghc-options: -Wall -fno-warn-orphans
+  exposed-modules:     Serokell.AcidState
+                       Serokell.AcidState.ExtendedState
+                       Serokell.AcidState.Instances
+                       Serokell.AcidState.Statistics
+                       Serokell.AcidState.Util
+                       Serokell.Arbitrary
+                       Serokell.Aeson.Options
+                       Serokell.Data.Memory.Units
+                       Serokell.Data.Variant
+                       Serokell.Util
+                       Serokell.Util.Base
+                       Serokell.Util.Base16
+                       Serokell.Util.Base64
+                       Serokell.Util.Bench
+                       Serokell.Util.Binary
+                       Serokell.Util.Common
+                       Serokell.Util.Concurrent
+                       Serokell.Util.I18N
+                       Serokell.Util.Parse
+                       Serokell.Util.OptParse
+                       Serokell.Util.Exceptions
+                       Serokell.Util.Lens
+                       Serokell.Util.StaticAssert
+                       Serokell.Util.Text
+                       Serokell.Util.Verify
+  other-modules:       Serokell.Data.Variant.Class
+                       Serokell.Data.Variant.Helpers
+                       Serokell.Data.Variant.Serialization
+                       Serokell.Data.Variant.Variant
+                       Serokell.Util.Parse.Base64
+                       Serokell.Util.Parse.Common
+                       Serokell.Util.Parse.Network
+  build-depends:       QuickCheck >= 2.8.1
+                     , acid-state
+                     , aeson >= 0.11.0.0 && < 1.0.0.0
+                     , aeson-extra >= 0.4.0.0
+                     , base >= 4.8 && < 5
+                     , base16-bytestring
+                     , base64-bytestring
+                     , binary
+                     , binary-orphans
+                     , bytestring
+                     , cereal
+                     , cereal-vector
+                     , containers
+                     , clock
+                     , data-msgpack >= 0.0.8
+                     , deepseq
+                     , directory
+                     , either
+                     , exceptions
+                     , extra
+                     , filepath
+                     , formatting
+                     , hashable >= 1.2.4.0
+                     , lens
+                     , monad-control
+                     , mtl
+                     , optparse-applicative
+                     , parsec
+                     , quickcheck-instances
+                     , safecopy >= 0.9.0.1
+                     , scientific
+                     , semigroups
+                     , stm >= 2.4.4
+                     , template-haskell
+                     , text
+                     , text-format
+                     , time-units
+                     , transformers
+                     , unordered-containers >= 0.2.7.0
+                     , vector
+                     , yaml
+  hs-source-dirs:      src
+  default-language:    Haskell2010
+  ghc-options:         -Wall -fno-warn-orphans
+  default-extensions:  OverloadedStrings
+                     , RecordWildCards
+                     , DeriveDataTypeable
+                     , GeneralizedNewtypeDeriving
 
 test-suite serokell-test
-    type: exitcode-stdio-1.0
-    main-is: Test.hs
-    build-depends:
-        aeson >=0.11.0.0 && <1.0.0.0,
-        base >=4.8,
-        binary >=0.8.3.0,
-        bytestring >=0.10.8.1,
-        cereal >=0.5.3.0,
-        hspec >=2.1.10,
-        data-msgpack >=0.0.8,
-        QuickCheck >=2.8.1,
-        quickcheck-instances >=0.3.12,
-        safecopy >=0.9.0.1,
-        scientific >=0.3.4.9,
-        serokell-util >=0.1.2.3,
-        text >=1.2.2.1,
-        text-format >=0.3.1.1,
-        unordered-containers >=0.2.7.0,
-        vector >=0.11.0.0
-    default-language: Haskell2010
-    default-extensions: OverloadedStrings RecordWildCards
-                        DeriveDataTypeable GeneralizedNewtypeDeriving
-    hs-source-dirs: test
-    other-modules:
-        Test.Serokell.Data.Memory.UnitsSpec
-        Test.Serokell.Data.Variant.VariantSpec
-        Test.Serokell.Util.CommonSpec
-        Test.Serokell.Util.ByteStringSpec
-        Test.Serokell.Util.TextSpec
-        Spec
-    ghc-options: -threaded -Wall -fno-warn-orphans
+  main-is:             Test.hs
+  other-modules:       Test.Serokell.Data.Memory.UnitsSpec
+                       Test.Serokell.Data.Variant.VariantSpec
+                       Test.Serokell.Util.CommonSpec
+                       Test.Serokell.Util.ByteStringSpec
+                       Test.Serokell.Util.TextSpec
+                       Spec
+  type:                exitcode-stdio-1.0
+  build-depends:       aeson >= 0.11.0.0 && < 1.0.0.0
+                     , base >=4.8
+                     , binary
+                     , bytestring
+                     , cereal
+                     , hspec >= 2.1.10
+                     , data-msgpack >= 0.0.8
+                     , QuickCheck >= 2.8.1
+                     , quickcheck-instances
+                     , safecopy >= 0.9.0.1
+                     , scientific
+                     , serokell-util
+                     , text
+                     , text-format
+                     , unordered-containers >= 0.2.7.0
+                     , vector
+  hs-source-dirs:      test
+  default-language:    Haskell2010
+  ghc-options:         -threaded -Wall -fno-warn-orphans
+  default-extensions:  OverloadedStrings
+                     , RecordWildCards
+                     , DeriveDataTypeable
+                     , GeneralizedNewtypeDeriving
diff --git a/src/Serokell/Data/Memory/Units.hs b/src/Serokell/Data/Memory/Units.hs
--- a/src/Serokell/Data/Memory/Units.hs
+++ b/src/Serokell/Data/Memory/Units.hs
@@ -28,6 +28,7 @@
        , convertUnit
        ) where
 
+import           Control.DeepSeq        (NFData)
 import           Data.Binary            (Binary)
 import           Data.Proxy             (Proxy (Proxy))
 import           Data.SafeCopy          (SafeCopy)
@@ -96,8 +97,8 @@
     Byte Integer
     deriving (Show,Eq,Num,Typeable,Integral,Real,Enum,Ord,Generic,Serialize,Binary, Arbitrary)
 
+instance NFData Byte
 instance SafeCopy Byte
-
 instance MemoryUnit Byte where
     bytesMultiplier Proxy = pow10 0
 
@@ -105,19 +106,19 @@
     Kilobyte Integer
     deriving (Show,Eq,Num,Typeable,Integral,Real,Enum,Ord,Generic,Serialize,Arbitrary)
 
+instance NFData Kilobyte
 instance SafeCopy Kilobyte
-
 instance MemoryUnit Kilobyte where
     bytesMultiplier Proxy = pow10 3
 
--- P. S. Feel free to add more.
+-- P.S. Feel free to add more.
 
 newtype Megabyte =
     Megabyte Integer
     deriving (Show,Eq,Num,Typeable,Integral,Real,Enum,Ord,Generic,Serialize,Arbitrary)
 
+instance NFData Megabyte
 instance SafeCopy Megabyte
-
 instance MemoryUnit Megabyte where
     bytesMultiplier Proxy = pow10 6
 
@@ -125,8 +126,8 @@
     Gigabyte Integer
     deriving (Show,Eq,Num,Typeable,Integral,Real,Enum,Ord,Generic,Serialize,Arbitrary)
 
+instance NFData Gigabyte
 instance SafeCopy Gigabyte
-
 instance MemoryUnit Gigabyte where
     bytesMultiplier Proxy = pow10 9
 
@@ -134,7 +135,7 @@
     Terabyte Integer
     deriving (Show,Eq,Num,Typeable,Integral,Real,Enum,Ord,Generic,Serialize,Arbitrary)
 
+instance NFData Terabyte
 instance SafeCopy Terabyte
-
 instance MemoryUnit Terabyte where
     bytesMultiplier Proxy = pow10 12
