diff --git a/gtk-strut.cabal b/gtk-strut.cabal
--- a/gtk-strut.cabal
+++ b/gtk-strut.cabal
@@ -1,11 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.27.0.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.31.1.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: c1b982826943ec79586e57d5e35f06abdebdb82dcfa8f11b96293a880f553c88
+-- hash: 59b81efe446840a83cfa0445adb590537b8ca5f8fad1b907a117b4e6e7daaba9
 
 name:           gtk-strut
-version:        0.1.2.1
+version:        0.1.3.0
 synopsis:       Libary for creating strut windows with gi-gtk
 description:    Please see the README on Github at <https://github.com/IvanMalison/gtk-strut#readme>
 category:       System
@@ -17,11 +19,9 @@
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-cabal-version:  >= 1.10
-
 extra-source-files:
-    ChangeLog.md
     README.md
+    ChangeLog.md
 
 source-repository head
   type: git
diff --git a/src/Graphics/UI/GIGtkStrut.hs b/src/Graphics/UI/GIGtkStrut.hs
--- a/src/Graphics/UI/GIGtkStrut.hs
+++ b/src/Graphics/UI/GIGtkStrut.hs
@@ -2,6 +2,7 @@
 
 import           Control.Monad
 import           Control.Monad.IO.Class
+import           Control.Monad.Fail (MonadFail)
 import           Control.Monad.Trans.Class
 import           Control.Monad.Trans.Maybe
 import           Data.Int
@@ -37,13 +38,13 @@
   , strutDisplayName = Nothing
   }
 
-buildStrutWindow :: MonadIO m => StrutConfig -> m Gtk.Window
+buildStrutWindow :: (MonadFail m, MonadIO m) => StrutConfig -> m Gtk.Window
 buildStrutWindow config = do
   window <- Gtk.windowNew Gtk.WindowTypeToplevel
   setupStrutWindow config window
   return window
 
-setupStrutWindow :: MonadIO m => StrutConfig -> Gtk.Window -> m ()
+setupStrutWindow :: (MonadFail m, MonadIO m) => StrutConfig -> Gtk.Window -> m ()
 setupStrutWindow StrutConfig
               { strutWidth = widthSize
               , strutHeight = heightSize
