diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,33 @@
 `relude` uses [PVP Versioning][1].
 The changelog is available [on GitHub][2].
 
+## 1.1.0.0 — Jun 9, 2022
+
+* [#388](https://github.com/kowainik/relude/issues/388):
+  Support GHC-9.2.
+* [#363](https://github.com/kowainik/relude/issues/363):
+  Remove the `Option` type, reexported from `Data.Semigroup`
+  (which was removed in `base-4.16`, GHC 9.2)
+
+  **Migration guide:** Use `Maybe` instead of `Option`.
+
+* [#372](https://github.com/kowainik/relude/issues/372):
+  Warn on usages of `readFileText`, `readFileLText`, `readFile` and `readFile'`.
+
+  > _NOTE:_ This is a **breaking change** if you build with `-Werror`
+  > and use the above functions. Use `readFileBS` / `readFileLBS`
+  > instead to convert to `Text` / `LText` / `String` using
+  > `decodeUtf8` and similar functions.
+
+* [#394](https://github.com/kowainik/relude/issues/394):
+  Support `hashable-1.4`.
+* [#408](https://github.com/kowainik/relude/issues/408):
+  Switch benchmarks from `criterion` to `tasty-bench`.
+* [#404](https://github.com/kowainik/relude/issues/404):
+  Fix condidion for `ordNubOn`, `intNub`, `intNubOn` export for `Relude.Nub` module.
+  Use min version of `containers-0.6.0` instead of min version of GHC `8.4`. 
+* Minor documentation improvements and fixes.
+
 ## 1.0.0.1 — Mar 15, 2021
 
 * Minor documentation changes.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
 **`relude`** is a safe, performant, user-friendly and lightweight Haskell
 standard library.
 
-The default `Prelude` is not perfect and doesn't always satisfies one's needs.
+The default `Prelude` is not perfect and doesn't always satisfy one's needs.
 At this stage you may want to try an alternative prelude library. In this README
 we are going to give you convincing reasons to consider using `relude` as such
 alternative in your next project.
@@ -58,7 +58,7 @@
    use space-leaks-free functions (e.g. our custom performant `sum` and `product`), introduce
    `{-# INLINE #-}` and `{-# SPECIALIZE #-}` pragmas where
    appropriate, and make efficient container types
-   (e.g. `Map`, `HashMap`, `Set`) more accesible.
+   (e.g. `Map`, `HashMap`, `Set`) more accessible.
 
 5. **Minimalism** (low number of dependencies). We do not force users of
    `relude` to stick to any specific lens or text formatting or logging
@@ -74,7 +74,7 @@
      `bytestring` to dependencies in your `.cabal` file to use the
      main API of these libraries
    + No need to import types like `NonEmpty`, `Text`, `Set`, `Reader[T]`, `MVar`, `STM`
-   + Functions like `liftIO`, `fromMaybe`, `sortWith` are avaiable by default as well
+   + Functions like `liftIO`, `fromMaybe`, `sortWith` are available by default as well
    + `IO` actions are lifted to `MonadIO`
 
 7. **Excellent documentation.**
@@ -117,6 +117,11 @@
 
 * [No implicit Prelude](https://typeclasses.com/ghc/no-implicit-prelude)
 
+For guiding development principles behind `relude` and comparison with
+`base`, check out the following talk:
+
+* [![Introduction to `relude` — an alternative Haskell prelude](https://img.youtube.com/vi/qwAmiJ5M_zM/0.jpg)](https://www.youtube.com/watch?v=qwAmiJ5M_zM)
+
 ## Structure of this tutorial
 
 This tutorial has several parts:
@@ -226,8 +231,8 @@
 
 library
   exposed-modules:     Example
-  build-depends:       base >= 4.10 && < 4.13
-                     , relude ^>= 1.0.0.0
+  build-depends:       base >= 4.14 && < 4.17
+                     , relude ^>= 1.1.0.0
 
   mixins:              base hiding (Prelude)
                      , relude (Relude as Prelude)
@@ -595,7 +600,7 @@
 
 * `Foldable1` typeclass that contains generalized interface for folding
   non-empty structures like `NonEmpty`.
-* [`StaticMap` and `DynamicMap` type classes](src/Relude/Extra/Map.hs) as a
+* [`StaticMap` and `DynamicMap` type classes](https://github.com/kowainik/relude/blob/main/src/Relude/Extra/Map.hs) as a
   general interface for `Map`-like data structures.
 * And much more!
 
@@ -650,7 +655,7 @@
    + Use `encodeUtf8/decodeUtf8` to convert to/from `ByteString`.
    + Use `(putStr[Ln]|readFile|writeFile|appendFile)[Text|LText|BS|LBS]` functions.
 
-6. Since `show` doesn't come from `Show` anymore, you need to export
+6. Since `show` doesn't come from `Show` anymore, you need to import the
   `Text.Show` module if you want to implement `Show` instance manually. This can be done in the following way:
 
   ```haskell
@@ -681,7 +686,7 @@
 two commands on your CI:
 
 ```yaml
-curl https://raw.githubusercontent.com/kowainik/relude/v1.0.0.0/.hlint.yaml -o .hlint-relude.yaml
+curl https://raw.githubusercontent.com/kowainik/relude/v1.1.0.0/.hlint.yaml -o .hlint-relude.yaml
 curl -sSL https://raw.github.com/ndmitchell/neil/master/misc/travis.sh | sh -s -- hlint -h .hlint-relude.yaml .
 ```
 
@@ -731,7 +736,7 @@
     * [Tutorial + migration guide](#structure-of-this-tutorial) from
       `Prelude` and just general description of the whole package and libraries
       it depends on.
-6. `relude` has less dependencies and is slightly lighter because of that but still
+6. `relude` has fewer dependencies and is slightly lighter because of that but still
    is very powerful and useful.
 7. `relude` is opt-in oriented and has a notion of `Extra.*` modules that are
    not exported by default from the `Relude` module. That means that we do not
@@ -749,17 +754,15 @@
 
 Note, that we are using custom `hlint` setting which are `Relude` specific. To
 keep it up to date don't forget to reflect your changes in this file. We are
-using `Dhall` to maintain the configurations. To use it follow the steps below.
+using `Dhall` to maintain the configurations (lang version 22.0.0). To
+use it follow the steps below.
 
 First time:
 
 ```shell
-$ cabal v2-install dhall-yaml
+$ cabal v2-install dhall-yaml-1.2.10
 ```
 
-Dhall 16.0.0 is required, so make sure that the previous command installed
-`dhall-yaml` >= 1.2.5.
-
 To generate `hlint` file:
 
 ```shell
@@ -790,4 +793,14 @@
 
 ```shell
 cabal-plan dot --root lib:relude | dot -Tpng -o relude-dependency-graph.png
+```
+
+### Updating license headers
+
+Install the `headroom` tool and run it from this repository:
+
+```shell
+cabal v2-install headroom-0.4.3.0
+headroom run
+rg "SPDX-License-Identifier : MPL-2.0" --files-with-matches src/ | xargs sed -i 's/SPDX-License-Identifier : MPL-2.0/SPDX-License-Identifier : MIT/g'
 ```
diff --git a/benchmark/Main.hs b/benchmark/Main.hs
--- a/benchmark/Main.hs
+++ b/benchmark/Main.hs
@@ -5,8 +5,7 @@
 import Relude hiding (show)
 
 import Data.List (nub)
-import Criterion (Benchmark, bench, bgroup, nf)
-import Criterion.Main (defaultMain)
+import Test.Tasty.Bench (Benchmark, bench, bgroup, defaultMain, nf)
 import Prelude (show)
 
 import qualified Data.HashSet as HashSet (insert)
diff --git a/relude.cabal b/relude.cabal
--- a/relude.cabal
+++ b/relude.cabal
@@ -1,6 +1,6 @@
 cabal-version:       3.0
 name:                relude
-version:             1.0.0.1
+version:             1.1.0.0
 synopsis:            Safe, performant, user-friendly and lightweight Haskell Standard Library
 description:
     @__relude__@ is an alternative prelude library. If you find the default
@@ -41,7 +41,7 @@
       use space-leaks-free functions (e.g. our custom performant @sum@ and @product@),
       introduce @\{\-\# INLINE \#\-\}@ and @\{\-\# SPECIALIZE \#\-\}@ pragmas where
       appropriate, and make efficient container types
-      (e.g. @Map@, @HashMap@, @Set@) more accesible.
+      (e.g. @Map@, @HashMap@, @Set@) more accessible.
 
     * __Minimalism__ (low number of dependencies). We do not force users of
       @relude@ to stick to any specific lens or text formatting or logging
@@ -57,7 +57,7 @@
            and @bytestring@ to dependencies in your @.cabal@ file to
            use the main API of these libraries
         2. No need to import types like @NonEmpty@, @Text@, @Set@, @Reader[T]@, @MVar@, @STM@
-        3. Functions like @liftIO@, @fromMaybe@, @sortWith@ are avaiable by default as well
+        3. Functions like @liftIO@, @fromMaybe@, @sortWith@ are available by default as well
         4. @IO@ actions are lifted to @MonadIO@
 
     * __Excellent documentation.__
@@ -95,8 +95,9 @@
                      GHC == 8.4.4
                      GHC == 8.6.5
                      GHC == 8.8.4
-                     GHC == 8.10.4
-                     GHC == 9.0.1
+                     GHC == 8.10.7
+                     GHC == 9.0.2
+                     GHC == 9.2.2
 
 
 source-repository head
@@ -104,7 +105,7 @@
   location: git@github.com:kowainik/relude.git
 
 common common-options
-  build-depends:       base >= 4.10 && < 4.16
+  build-depends:       base >= 4.10 && < 4.17
 
   ghc-options:         -Wall
                        -Wcompat
@@ -121,6 +122,11 @@
     ghc-options:       -Wmissing-deriving-strategies
   if impl(ghc >= 8.10)
     ghc-options:       -Wunused-packages
+  if impl(ghc >= 9.0)
+    ghc-options:       -Winvalid-haddock
+  if impl(ghc >= 9.2)
+    ghc-options:       -Wredundant-bang-patterns
+                       -Woperator-whitespace
 
 
   default-language:    Haskell2010
@@ -222,14 +228,14 @@
 
 
   build-depends:       bytestring >= 0.10 && < 0.12
-                     , containers >= 0.5.7 && < 0.7
+                     , containers >= 0.5.10 && < 0.7
                      , deepseq ^>= 1.4
-                     , ghc-prim >= 0.4.0.0 && < 0.8
-                     , hashable >= 1.2 && < 1.4
+                     , ghc-prim >= 0.4.0.0 && < 0.9
+                     , hashable >= 1.2 && < 1.5
                      , mtl ^>= 2.2
                      , stm >= 2.4 && < 2.6
-                     , text ^>= 1.2
-                     , transformers ^>= 0.5
+                     , text >= 1.2 && < 2.1
+                     , transformers >= 0.5 && < 0.7
                      , unordered-containers >= 0.2.7 && < 0.3
 
 
@@ -246,7 +252,7 @@
                      , bytestring
                      , containers
                      , text
-                     , hedgehog ^>= 1.0
+                     , hedgehog >= 1.0 && < 1.2
 
   ghc-options:         -threaded
 
@@ -257,7 +263,7 @@
   main-is:             Doctest.hs
 
   build-depends:       relude
-                     , doctest
+                     , doctest ^>= 0.20
                      , Glob
 
   ghc-options:         -threaded
@@ -269,9 +275,7 @@
   main-is:             Main.hs
 
   build-depends:       relude
-                     , criterion
+                     , tasty-bench
                      , unordered-containers
 
-  ghc-options:         -threaded
-                       -rtsopts
-                       -with-rtsopts=-N
+  ghc-options:         -rtsopts
diff --git a/src/Relude.hs b/src/Relude.hs
--- a/src/Relude.hs
+++ b/src/Relude.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 @relude@ is a safe, performant, user-friendly and lightweight Haskell
 standard library.
diff --git a/src/Relude/Applicative.hs b/src/Relude/Applicative.hs
--- a/src/Relude/Applicative.hs
+++ b/src/Relude/Applicative.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Applicative
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module contains reexports of 'Applicative' and related functional.
 Additionally, it provides convenient combinators to work with 'Applicative'.
diff --git a/src/Relude/Base.hs b/src/Relude/Base.hs
--- a/src/Relude/Base.hs
+++ b/src/Relude/Base.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Trustworthy #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Base
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports from @Data.*@ and @GHC.*@ modules of
 <https://hackage.haskell.org/package/base base> package.
@@ -50,7 +51,7 @@
 import System.IO (FilePath, IO, IOMode (..))
 
 -- Base typeclasses
-import Data.Eq (Eq (..))
+import Data.Eq (Eq, (==), (/=))
 import Data.Ord (Down (..), Ord (..), Ordering (..), comparing)
 
 -- Types for type-level computation
diff --git a/src/Relude/Bool.hs b/src/Relude/Bool.hs
--- a/src/Relude/Bool.hs
+++ b/src/Relude/Bool.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Bool
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Convenient commonly used and very helpful functions to work with 'Bool' and also
 with monads.
diff --git a/src/Relude/Bool/Guard.hs b/src/Relude/Bool/Guard.hs
--- a/src/Relude/Bool/Guard.hs
+++ b/src/Relude/Bool/Guard.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Bool.Guard
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Monadic boolean combinators.
 -}
diff --git a/src/Relude/Bool/Reexport.hs b/src/Relude/Bool/Reexport.hs
--- a/src/Relude/Bool/Reexport.hs
+++ b/src/Relude/Bool/Reexport.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Bool.Reexport
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports functions to work with 'Bool' type.
 -}
diff --git a/src/Relude/Container.hs b/src/Relude/Container.hs
--- a/src/Relude/Container.hs
+++ b/src/Relude/Container.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Container
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module exports all container-related stuff.
 -}
diff --git a/src/Relude/Container/One.hs b/src/Relude/Container/One.hs
--- a/src/Relude/Container/One.hs
+++ b/src/Relude/Container/One.hs
@@ -4,13 +4,14 @@
 {-# LANGUAGE TypeFamilies      #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Container.One
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 'One' is a typeclass for creating structures from a singleton element.
 It has three main goals:
diff --git a/src/Relude/Container/Reexport.hs b/src/Relude/Container/Reexport.hs
--- a/src/Relude/Container/Reexport.hs
+++ b/src/Relude/Container/Reexport.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Trustworthy #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Container.Reexport
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports container-related data types, functions and typeclasses from @base@,
 @containers@ and @unordered-containers@ packages.
diff --git a/src/Relude/Debug.hs b/src/Relude/Debug.hs
--- a/src/Relude/Debug.hs
+++ b/src/Relude/Debug.hs
@@ -17,13 +17,14 @@
 #endif
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Debug
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module contains functions for debugging __pure__ functions. You
 can't use functions like 'System.IO.putStrLn' for this purpose because
@@ -254,13 +255,13 @@
 >>> error "oops"
 *** Exception: oops
 CallStack (from HasCallStack):
-  error, called at src\\Relude\\Debug.hs:288:11 in ...
+  error, called at src\\Relude\\Debug.hs:289:11 in ...
   ...
 #else
 >>> error "oops"
 *** Exception: oops
 CallStack (from HasCallStack):
-  error, called at src/Relude/Debug.hs:288:11 in ...
+  error, called at src/Relude/Debug.hs:289:11 in ...
 ...
 #endif
 
diff --git a/src/Relude/DeepSeq.hs b/src/Relude/DeepSeq.hs
--- a/src/Relude/DeepSeq.hs
+++ b/src/Relude/DeepSeq.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.DeepSeq
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module contains useful functions to evaluate expressions to weak-head
 normal form (WHNF) or just normal form (NF). Useful to force traces or @error@s
diff --git a/src/Relude/Enum.hs b/src/Relude/Enum.hs
--- a/src/Relude/Enum.hs
+++ b/src/Relude/Enum.hs
@@ -1,9 +1,12 @@
+{-# LANGUAGE Safe #-}
+
 {- |
-Copyright:  (c) 2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Enum
+Copyright               : (c) 2021-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports 'Enum' related typeclasses and functions. Also introduces a few useful
 helpers to work with Enums.
@@ -89,7 +92,7 @@
 shared for every call.
 
 __Memory usage note:__ don't inverse functions that have types like 'Int'
-as their result. In this case the created 'M.Map' will have huge size.
+as their input. In this case the created 'M.Map' will have huge size.
 
 The complexity of reversed mapping is \(\mathcal{O}(\log n)\).
 
diff --git a/src/Relude/Exception.hs b/src/Relude/Exception.hs
--- a/src/Relude/Exception.hs
+++ b/src/Relude/Exception.hs
@@ -9,13 +9,14 @@
 #endif
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Exception
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Re-exports most useful functionality from the "Control.Exception" module. Also
 provides some convenient utilities to throw and handle exceptions.
diff --git a/src/Relude/Extra.hs b/src/Relude/Extra.hs
--- a/src/Relude/Extra.hs
+++ b/src/Relude/Extra.hs
@@ -1,9 +1,10 @@
 {- |
-Copyright:  (c) 2019-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra
+Copyright               : (c) 2019-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module exports all extra-related stuff.
 The extra modules are not exported by default, but you can easily bring them to
diff --git a/src/Relude/Extra/Bifunctor.hs b/src/Relude/Extra/Bifunctor.hs
--- a/src/Relude/Extra/Bifunctor.hs
+++ b/src/Relude/Extra/Bifunctor.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Bifunctor
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Useful combinators for bifunctors inside functors. This set of functions is
 useful when you want to work with types like these ones:
diff --git a/src/Relude/Extra/CallStack.hs b/src/Relude/Extra/CallStack.hs
--- a/src/Relude/Extra/CallStack.hs
+++ b/src/Relude/Extra/CallStack.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.CallStack
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Contains useful functions to work with GHC callstack.
 
diff --git a/src/Relude/Extra/Enum.hs b/src/Relude/Extra/Enum.hs
--- a/src/Relude/Extra/Enum.hs
+++ b/src/Relude/Extra/Enum.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Enum
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Mini @bounded-enum@ framework inside @relude@.
 
diff --git a/src/Relude/Extra/Foldable.hs b/src/Relude/Extra/Foldable.hs
--- a/src/Relude/Extra/Foldable.hs
+++ b/src/Relude/Extra/Foldable.hs
@@ -2,11 +2,12 @@
 {-# LANGUAGE BangPatterns #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Foldable
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Contains utility functions for working with tuples.
 
diff --git a/src/Relude/Extra/Foldable1.hs b/src/Relude/Extra/Foldable1.hs
--- a/src/Relude/Extra/Foldable1.hs
+++ b/src/Relude/Extra/Foldable1.hs
@@ -8,12 +8,13 @@
 {-# LANGUAGE UndecidableInstances #-}
 
 {- |
-Copyright:  (c) 2011-2015 Edward Kmett
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Foldable1
+Copyright               : (c) 2011-2015 Edward Kmett
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 'Foldable1' is a typeclass like 'Data.Foldable.Foldable' but for non-empty
 structures. For example, 'Relude.NonEmpty', 'Relude.Identity'.
diff --git a/src/Relude/Extra/Group.hs b/src/Relude/Extra/Group.hs
--- a/src/Relude/Extra/Group.hs
+++ b/src/Relude/Extra/Group.hs
@@ -2,11 +2,12 @@
 {-# LANGUAGE TypeFamilies #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Group
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Polymorphic grouping functions.
 
diff --git a/src/Relude/Extra/Lens.hs b/src/Relude/Extra/Lens.hs
--- a/src/Relude/Extra/Lens.hs
+++ b/src/Relude/Extra/Lens.hs
@@ -2,12 +2,13 @@
 {-# LANGUAGE Safe       #-}
 
 {- |
-Copyright:  (c) 2012-2016 Edward Kmett
-            (c) 2019-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Lens
+Copyright               : (c) 2012-2016 Edward Kmett
+                          (c) 2019-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 @since 0.5.0
 
@@ -158,7 +159,6 @@
 - [lens](https://hackage.haskell.org/package/lens)
 - [microlens](https://hackage.haskell.org/package/microlens)
 - [lens tutorial](http://hackage.haskell.org/package/lens-tutorial-1.0.3/docs/Control-Lens-Tutorial.html)
-
 -}
 
 module Relude.Extra.Lens
diff --git a/src/Relude/Extra/Map.hs b/src/Relude/Extra/Map.hs
--- a/src/Relude/Extra/Map.hs
+++ b/src/Relude/Extra/Map.hs
@@ -2,11 +2,12 @@
 {-# LANGUAGE TypeFamilies #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Map
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Contains implementation of polymorphic type classes for data types 'Set' and
 'Map'.
diff --git a/src/Relude/Extra/Newtype.hs b/src/Relude/Extra/Newtype.hs
--- a/src/Relude/Extra/Newtype.hs
+++ b/src/Relude/Extra/Newtype.hs
@@ -2,11 +2,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Newtype
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Functions to ease work with @newtypes@.
 
diff --git a/src/Relude/Extra/Tuple.hs b/src/Relude/Extra/Tuple.hs
--- a/src/Relude/Extra/Tuple.hs
+++ b/src/Relude/Extra/Tuple.hs
@@ -2,11 +2,12 @@
 {-# LANGUAGE TupleSections #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Tuple
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Contains utility functions for working with tuples.
 
diff --git a/src/Relude/Extra/Type.hs b/src/Relude/Extra/Type.hs
--- a/src/Relude/Extra/Type.hs
+++ b/src/Relude/Extra/Type.hs
@@ -9,11 +9,12 @@
 {-# LANGUAGE UndecidableInstances #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Experimental
-Portability: Portable
+Module                  : Relude.Extra.Type
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Contains useful utilities to work with Types.
 
@@ -35,7 +36,7 @@
 
 
 -- $setup
--- >>> :set -XDataKinds -XTypeOperators
+-- >>> :set -XAllowAmbiguousTypes -XDataKinds -XExplicitNamespaces -XPolyKinds -XTypeFamilies -XTypeOperators -XUndecidableInstances 
 
 {- | Gets a string representation of a type.
 
@@ -58,7 +59,18 @@
 
 {- | Concatenates type-level lists.
 
-#if ( __GLASGOW_HASKELL__ >= 806 )
+#if ( __GLASGOW_HASKELL__ >= 902 )
+
+>>> :kind! '[ 'Just 5, 'Nothing] ++ '[ 'Just 3, 'Nothing, 'Just 1]
+'[ 'Just 5, 'Nothing] ++ '[ 'Just 3, 'Nothing, 'Just 1] :: [Maybe
+                                                              Natural]
+= '[ 'Just 5, 'Nothing, 'Just 3, 'Nothing, 'Just 1]
+
+>>> :kind! '[] ++ '[ 'Just 3, 'Nothing, 'Just 1]
+'[] ++ '[ 'Just 3, 'Nothing, 'Just 1] :: [Maybe Natural]
+= '[ 'Just 3, 'Nothing, 'Just 1]
+
+#elif ( __GLASGOW_HASKELL__ >= 806 )
 
 >>> :kind! '[ 'Just 5, 'Nothing] ++ '[ 'Just 3, 'Nothing, 'Just 1]
 '[ 'Just 5, 'Nothing] ++ '[ 'Just 3, 'Nothing, 'Just 1] :: [Maybe
diff --git a/src/Relude/File.hs b/src/Relude/File.hs
--- a/src/Relude/File.hs
+++ b/src/Relude/File.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.File
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted to 'MonadIO' families of file processing functions for the 'Text', 'LText',
 'ByteString' and 'LByteString' types.
@@ -20,6 +21,15 @@
 data with the help of functions from the "Relude.String.Conversion" module, e. g.
 'Relude.String.Conversion.decodeUtf8'.
 
+To be more precise, avoid the following functions:
+
+* 'readFileText'
+* 'readFileLText'
+
+See the following blog post for more details:
+
+* [Beware of readFile by Michael Snoyman](https://www.snoyman.com/blog/2016/12/beware-of-readfile/)
+
 @since 0.3.0
 -}
 
@@ -68,6 +78,7 @@
 readFileText = liftIO . T.readFile
 {-# SPECIALIZE readFileText :: FilePath -> IO Text #-}
 {-# INLINE     readFileText #-}
+{-# WARNING readFileText ["'readFileText' depends on the system's locale settings and can throw unexpected exceptions.", "Use 'readFileBS' instead."] #-}
 
 {- | Lifted version of 'T.writeFile'.
 
@@ -99,6 +110,7 @@
 readFileLText = liftIO . LT.readFile
 {-# SPECIALIZE readFileLText :: FilePath -> IO LText #-}
 {-# INLINE     readFileLText #-}
+{-# WARNING readFileLText ["'readFileLText' depends on the system's locale settings and can throw unexpected exceptions.", "Use 'readFileLBS' instead."] #-}
 
 {- | Lifted version of 'LT.writeFile'.
 
diff --git a/src/Relude/Foldable.hs b/src/Relude/Foldable.hs
--- a/src/Relude/Foldable.hs
+++ b/src/Relude/Foldable.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Foldable
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module provides 'Foldable' and 'Traversable' related types and functions.
 -}
diff --git a/src/Relude/Foldable/Fold.hs b/src/Relude/Foldable/Fold.hs
--- a/src/Relude/Foldable/Fold.hs
+++ b/src/Relude/Foldable/Fold.hs
@@ -8,13 +8,14 @@
 {-# LANGUAGE UndecidableInstances #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Foldable.Fold
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Fixes and additions to 'Foldable'. Specifically:
 
diff --git a/src/Relude/Foldable/Reexport.hs b/src/Relude/Foldable/Reexport.hs
--- a/src/Relude/Foldable/Reexport.hs
+++ b/src/Relude/Foldable/Reexport.hs
@@ -2,11 +2,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Foldable.Reexport
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports "Data.Foldable" and "Data.Traversable".
 -}
diff --git a/src/Relude/Function.hs b/src/Relude/Function.hs
--- a/src/Relude/Function.hs
+++ b/src/Relude/Function.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Function
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module reexports very basic and primitive functions and function
 combinators.
diff --git a/src/Relude/Functor.hs b/src/Relude/Functor.hs
--- a/src/Relude/Functor.hs
+++ b/src/Relude/Functor.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright: (c) 2016 Stephen Diehl
-           (c) 2016-2018 Serokell
-           (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Functor
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Convenient functions to work with 'Functor'.
 -}
diff --git a/src/Relude/Functor/Fmap.hs b/src/Relude/Functor/Fmap.hs
--- a/src/Relude/Functor/Fmap.hs
+++ b/src/Relude/Functor/Fmap.hs
@@ -2,13 +2,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright: (c) 2016 Stephen Diehl
-           (c) 2016-2018 Serokell
-           (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Functor.Fmap
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module contains useful functions to work with 'Functor' type class.
 -}
diff --git a/src/Relude/Functor/Reexport.hs b/src/Relude/Functor/Reexport.hs
--- a/src/Relude/Functor/Reexport.hs
+++ b/src/Relude/Functor/Reexport.hs
@@ -2,13 +2,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright: (c) 2016 Stephen Diehl
-           (c) 2016-2018 Serokell
-           (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Functor.Reexport
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports functionality regarding 'Functor' and 'Bifunctor' typeclasses.
 -}
diff --git a/src/Relude/Lifted.hs b/src/Relude/Lifted.hs
--- a/src/Relude/Lifted.hs
+++ b/src/Relude/Lifted.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted versions of base functions.
 
@@ -58,7 +59,6 @@
     x <- 'getLine'
     'print' x
 @
-
 -}
 
 module Relude.Lifted
diff --git a/src/Relude/Lifted/Concurrent.hs b/src/Relude/Lifted/Concurrent.hs
--- a/src/Relude/Lifted/Concurrent.hs
+++ b/src/Relude/Lifted/Concurrent.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.Concurrent
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted 'MVar' and 'STM' functions.
 -}
diff --git a/src/Relude/Lifted/Env.hs b/src/Relude/Lifted/Env.hs
--- a/src/Relude/Lifted/Env.hs
+++ b/src/Relude/Lifted/Env.hs
@@ -1,9 +1,12 @@
+{-# LANGUAGE Safe #-}
+
 {- |
-Copyright:  (c) 2020-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.Env
+Copyright               : (c) 2020-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted functions to work with system environment.
 
diff --git a/src/Relude/Lifted/Exit.hs b/src/Relude/Lifted/Exit.hs
--- a/src/Relude/Lifted/Exit.hs
+++ b/src/Relude/Lifted/Exit.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.Exit
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted versions of functions that work with exit processes.
 -}
diff --git a/src/Relude/Lifted/File.hs b/src/Relude/Lifted/File.hs
--- a/src/Relude/Lifted/File.hs
+++ b/src/Relude/Lifted/File.hs
@@ -2,13 +2,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.File
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted versions of functions working with files and common IO.
 -}
@@ -35,6 +36,7 @@
 readFile = liftIO . IO.readFile
 {-# SPECIALIZE readFile :: FilePath -> IO String #-}
 {-# INLINE readFile #-}
+{-# WARNING readFile ["'readFile' depends on the system's locale settings and can throw unexpected exceptions.", "Use 'readFileBS' or 'readFileLBS' instead."] #-}
 
 #if ( __GLASGOW_HASKELL__ >= 900 )
 {- | Lifted version of 'IO.readFile''. Strict version of 'readFile'.
@@ -45,6 +47,7 @@
 readFile' = liftIO . IO.readFile'
 {-# SPECIALIZE readFile' :: FilePath -> IO String #-}
 {-# INLINE readFile' #-}
+{-# WARNING readFile' ["readFile' depends on the system's locale settings and can throw unexpected exceptions.", "Use 'readFileBS' or 'readFileLBS' instead."] #-}
 #endif
 
 -- | Lifted version of 'IO.writeFile'.
diff --git a/src/Relude/Lifted/Handle.hs b/src/Relude/Lifted/Handle.hs
--- a/src/Relude/Lifted/Handle.hs
+++ b/src/Relude/Lifted/Handle.hs
@@ -1,9 +1,12 @@
+{-# LANGUAGE Safe #-}
+
 {- |
-Copyright:  (c) 2020-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.Handle
+Copyright               : (c) 2020-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted functions to work with 'IO' 'Handle's.
 
diff --git a/src/Relude/Lifted/IORef.hs b/src/Relude/Lifted/IORef.hs
--- a/src/Relude/Lifted/IORef.hs
+++ b/src/Relude/Lifted/IORef.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.IORef
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted reexports from "Data.IORef" module.
 -}
diff --git a/src/Relude/Lifted/Terminal.hs b/src/Relude/Lifted/Terminal.hs
--- a/src/Relude/Lifted/Terminal.hs
+++ b/src/Relude/Lifted/Terminal.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Lifted.Terminal
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Lifted functions to work with stdin and stdout.
 
diff --git a/src/Relude/List.hs b/src/Relude/List.hs
--- a/src/Relude/List.hs
+++ b/src/Relude/List.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.List
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Utility functions to work with lists and 'NonEmpty' lists.
 -}
diff --git a/src/Relude/List/NonEmpty.hs b/src/Relude/List/NonEmpty.hs
--- a/src/Relude/List/NonEmpty.hs
+++ b/src/Relude/List/NonEmpty.hs
@@ -6,13 +6,14 @@
 {-# LANGUAGE UndecidableInstances #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.List.NonEmpty
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module contains reexports from "Data.List.NonEmpty" and safe functions to
 work with list type in terms of 'NonEmpty'.
diff --git a/src/Relude/List/Reexport.hs b/src/Relude/List/Reexport.hs
--- a/src/Relude/List/Reexport.hs
+++ b/src/Relude/List/Reexport.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Trustworthy #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.List.Reexport
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports most of the "Data.List".
 -}
diff --git a/src/Relude/Monad.hs b/src/Relude/Monad.hs
--- a/src/Relude/Monad.hs
+++ b/src/Relude/Monad.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Monad
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexporting useful monadic stuff.
 -}
diff --git a/src/Relude/Monad/Either.hs b/src/Relude/Monad/Either.hs
--- a/src/Relude/Monad/Either.hs
+++ b/src/Relude/Monad/Either.hs
@@ -3,13 +3,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Monad.Either
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Utilities to work with 'Relude.Either' data type.
 -}
diff --git a/src/Relude/Monad/Maybe.hs b/src/Relude/Monad/Maybe.hs
--- a/src/Relude/Monad/Maybe.hs
+++ b/src/Relude/Monad/Maybe.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Monad.Maybe
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Utility functions to work with 'Relude.Maybe' data type as monad.
 -}
diff --git a/src/Relude/Monad/Reexport.hs b/src/Relude/Monad/Reexport.hs
--- a/src/Relude/Monad/Reexport.hs
+++ b/src/Relude/Monad/Reexport.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Monad.Reexport
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports functions to work with monads.
 -}
diff --git a/src/Relude/Monad/Trans.hs b/src/Relude/Monad/Trans.hs
--- a/src/Relude/Monad/Trans.hs
+++ b/src/Relude/Monad/Trans.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Trustworthy #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Monad.Trans
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Monad transformers utilities.
 -}
@@ -85,7 +86,7 @@
 
 For a detailed explanation, refer to the following blog post:
 
-* <https://www.joachim-breitner.de/blog/763-Faster_Winter_5__Eta-Expanding_ReaderT Faster Winter 5: Eta-Expanding ReaderT (by Joachim Breitners)>
+* <https://www.joachim-breitner.de/blog/763-Faster_Winter_5__Eta-Expanding_ReaderT Faster Winter 5: Eta-Expanding ReaderT (by Joachim Breitner)>
 
 @since 0.7.0.0
 -}
diff --git a/src/Relude/Monoid.hs b/src/Relude/Monoid.hs
--- a/src/Relude/Monoid.hs
+++ b/src/Relude/Monoid.hs
@@ -8,13 +8,14 @@
 #endif
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Monoid
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports functions to work with monoids plus adds extra useful functions.
 -}
@@ -37,8 +38,8 @@
 #endif
 import Data.Monoid (All (..), Alt (..), Any (..), Dual (..), Endo (..), First (..), Last (..),
                     Monoid (..), Product (..), Sum (..))
-import Data.Semigroup (Option (..), Semigroup (sconcat, stimes, (<>)), WrappedMonoid, cycle1,
-                       mtimesDefault, stimesIdempotent, stimesIdempotentMonoid, stimesMonoid)
+import Data.Semigroup (Semigroup (sconcat, stimes, (<>)), WrappedMonoid, cycle1, mtimesDefault,
+                       stimesIdempotent, stimesIdempotentMonoid, stimesMonoid)
 
 import Relude.Bool.Reexport (Bool (..))
 import Relude.Monad.Reexport (Maybe, fromMaybe)
diff --git a/src/Relude/Nub.hs b/src/Relude/Nub.hs
--- a/src/Relude/Nub.hs
+++ b/src/Relude/Nub.hs
@@ -2,13 +2,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Nub
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Functions to remove duplicates from a list.
 
@@ -41,7 +42,7 @@
     ( hashNub
     , ordNub
 
-#if __GLASGOW_HASKELL__ > 804
+#if MIN_VERSION_containers(0,6,0)
     , ordNubOn
     , intNub
     , intNubOn
@@ -51,14 +52,16 @@
     , unstableNub
     ) where
 
+#if !MIN_VERSION_hashable(1,4,0)
 import Data.Eq (Eq)
-import Data.Hashable (Hashable)
+#endif
 import Data.HashSet as HashSet
+import Data.Hashable (Hashable)
 import Data.Ord (Ord)
 import Prelude (Int, (.))
 
 import qualified Data.Set as Set
-#if __GLASGOW_HASKELL__ > 804
+#if MIN_VERSION_containers(0,6,0)
 import qualified Data.Containers.ListUtils as Containers
 #endif
 
@@ -76,7 +79,7 @@
 
 -}
 ordNub :: forall a . (Ord a) => [a] -> [a]
-#if __GLASGOW_HASKELL__ > 804
+#if MIN_VERSION_containers(0,6,0)
 ordNub = Containers.nubOrd
 {-# INLINE ordNub #-}
 #else
@@ -92,7 +95,7 @@
 #endif
 
 
-#if __GLASGOW_HASKELL__ > 804
+#if MIN_VERSION_containers(0,6,0)
 {- | Similar to 'ordNub' but performs nub through the mapped list on the given
 function.
 
@@ -112,7 +115,11 @@
 [3,2,-1,1]
 
 -}
+#if MIN_VERSION_hashable(1,4,0)
+hashNub :: forall a . (Hashable a) => [a] -> [a]
+#else
 hashNub :: forall a . (Eq a, Hashable a) => [a] -> [a]
+#endif
 hashNub = go HashSet.empty
   where
     go :: HashSet.HashSet a -> [a] -> [a]
@@ -139,17 +146,20 @@
 [1,2,3,-1]
 
 -}
+#if MIN_VERSION_hashable(1,4,0)
+unstableNub :: (Hashable a) => [a] -> [a]
+#else
 unstableNub :: (Eq a, Hashable a) => [a] -> [a]
+#endif
 unstableNub = HashSet.toList . HashSet.fromList
 {-# INLINE unstableNub #-}
 
 
-#if __GLASGOW_HASKELL__ > 804
-
+#if MIN_VERSION_containers(0,6,0)
 {- | Removes duplicate elements from a list, keeping only the first occurance of
 the element.
 
-Like 'Prelude.nub' but runs in \( O(n \min\(n, int_bits\)) \)  time and requires 'Ord'.
+Like 'Prelude.nub' but runs in \( O (n \min (n, int\_bits )) \)  time and requires 'Ord'.
 
 >>> intNub [3, 3, 3, 2, 2, -1, 1]
 [3,2,-1,1]
diff --git a/src/Relude/Numeric.hs b/src/Relude/Numeric.hs
--- a/src/Relude/Numeric.hs
+++ b/src/Relude/Numeric.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE Trustworthy #-}
 
 {- |
-Copyright:  (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Numeric
+Copyright               : (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Provides numerical data types and functions.
 
diff --git a/src/Relude/Print.hs b/src/Relude/Print.hs
--- a/src/Relude/Print.hs
+++ b/src/Relude/Print.hs
@@ -4,13 +4,14 @@
 {-# LANGUAGE Safe              #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Print
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Functions like 'Prelude.putStr' and 'Prelude.putStrLn' but for 'Text', 'LText',
 'ByteString' and 'LByteString'.
diff --git a/src/Relude/String.hs b/src/Relude/String.hs
--- a/src/Relude/String.hs
+++ b/src/Relude/String.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Safe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.String
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Type classes for conversion between different string representations.
 
@@ -36,7 +37,6 @@
 +-----------------------+---------------------+--------------+--------------+--------------------+------------------------+--------------------------+
 | __'ShortByteString'__ | 'decodeUtf8'        | 'decodeUtf8' | 'fromShort'  | 'decodeUtf8'       |@'toLazy' . 'fromShort'@| ~                        |
 +-----------------------+---------------------+--------------+--------------+--------------------+------------------------+--------------------------+
-
 -}
 
 module Relude.String
diff --git a/src/Relude/String/Conversion.hs b/src/Relude/String/Conversion.hs
--- a/src/Relude/String/Conversion.hs
+++ b/src/Relude/String/Conversion.hs
@@ -10,13 +10,14 @@
 {-# LANGUAGE UndecidableInstances   #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.String.Conversion
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 This module implements type class which allow to have conversion to and from
 'Relude.String.Reexport.Text', 'String' and 'ByteString' types
@@ -100,8 +101,14 @@
     >>> decodeUtf8 @Text @ByteString "\208\208\176\209\130\208\176\208\186"
     "\65533\65533\1090\1072\1082"
 #endif
+
+#if MIN_VERSION_text(2,0,0)
     >>> decodeUtf8Strict @Text @ByteString "\208\208\176\209\130\208\176\208\186"
+    Left Cannot decode byte '\xd0': Data.Text.Internal.Encoding: Invalid UTF-8 stream
+#else
+    >>> decodeUtf8Strict @Text @ByteString "\208\208\176\209\130\208\176\208\186"
     Left Cannot decode byte '\xd0': Data.Text.Internal.Encoding.decodeUtf8: Invalid UTF-8 stream
+#endif
     -}
     decodeUtf8Strict :: b -> Either T.UnicodeException a
 
diff --git a/src/Relude/String/Reexport.hs b/src/Relude/String/Reexport.hs
--- a/src/Relude/String/Reexport.hs
+++ b/src/Relude/String/Reexport.hs
@@ -7,13 +7,14 @@
 {-# LANGUAGE UndecidableInstances #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.String.Reexport
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 Reexports functions to work with 'Data.Text.Text', 'ByteString' and
 'ShortByteString' types.
diff --git a/src/Relude/Unsafe.hs b/src/Relude/Unsafe.hs
--- a/src/Relude/Unsafe.hs
+++ b/src/Relude/Unsafe.hs
@@ -1,13 +1,14 @@
 {-# LANGUAGE Unsafe #-}
 
 {- |
-Copyright:  (c) 2016 Stephen Diehl
-            (c) 2016-2018 Serokell
-            (c) 2018-2021 Kowainik
-SPDX-License-Identifier: MIT
-Maintainer:  Kowainik <xrom.xkov@gmail.com>
-Stability:   Stable
-Portability: Portable
+Module                  : Relude.Unsafe
+Copyright               : (c) 2016 Stephen Diehl
+                          (c) 2016-2018 Serokell
+                          (c) 2018-2022 Kowainik
+SPDX-License-Identifier : MIT
+Maintainer              : Kowainik <xrom.xkov@gmail.com>
+Stability               : Stable
+Portability             : Portable
 
 __⚠️ Warning ⚠️__
 
diff --git a/test/Doctest.hs b/test/Doctest.hs
--- a/test/Doctest.hs
+++ b/test/Doctest.hs
@@ -9,7 +9,8 @@
 main = do
     sourceFiles <- glob "src/**/*.hs"
     doctest
-        $ "-XInstanceSigs"
+        $ "-XHaskell2010"
+        : "-XInstanceSigs"
         : "-XNoImplicitPrelude"
         : "-XOverloadedStrings"
         : "-XScopedTypeVariables"
