diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for qrcode-core
 
+## 0.9.2 -- 2019-12-19
+
+* Fix `toMatrix`
+
 ## 0.9.1 -- 2019-05-23
 
 * Support for primitive 0.7
diff --git a/qrcode-core.cabal b/qrcode-core.cabal
--- a/qrcode-core.cabal
+++ b/qrcode-core.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.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 3050ad8a7d91248f29f4d59e8ed7b871f0e3e78e7f0603a7d1b6526796add27b
+-- hash: 5ae46c38bfc24112cecf2d1ca346676e989cf1ae8ff55e6df1fc2d158d201659
 
 name:           qrcode-core
-version:        0.9.1
+version:        0.9.2
 synopsis:       QR code library in pure Haskell
 description:    Please see the README on GitHub at <https://github.com/alexkazik/qrcode/qrcode-core#readme>
 category:       codec
diff --git a/src/Codec/QRCode/Data/QRImage.hs b/src/Codec/QRCode/Data/QRImage.hs
--- a/src/Codec/QRCode/Data/QRImage.hs
+++ b/src/Codec/QRCode/Data/QRImage.hs
@@ -54,7 +54,7 @@
     qrImageSize
       (map
         go
-        [0, qrImageSize - 1]
+        [0 .. qrImageSize - 1]
       )
   where
     go ofs =
diff --git a/src/Codec/QRCode/Data/Result.hs b/src/Codec/QRCode/Data/Result.hs
--- a/src/Codec/QRCode/Data/Result.hs
+++ b/src/Codec/QRCode/Data/Result.hs
@@ -25,9 +25,11 @@
 import           Data.Traversable
 #endif
 #if (MIN_VERSION_base(4,9,0))
-import           Control.Monad.Fail
 import           Control.Monad.Zip
 import           Data.Functor.Classes
+#endif
+#if (MIN_VERSION_base(4,9,0)) && !(MIN_VERSION_base(4,13,0))
+import           Control.Monad.Fail
 #endif
 
 -- | This Maybe wrapper treats Just as success and Nothing as failure.
