diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+* 0.6.0
+  - Allow dependency haskell-gi-0.23
+  - Remove redundant code
 * 0.5.0
     - New `CustomWidget` API
 * 0.4.3
diff --git a/gi-gtk-declarative-app-simple.cabal b/gi-gtk-declarative-app-simple.cabal
--- a/gi-gtk-declarative-app-simple.cabal
+++ b/gi-gtk-declarative-app-simple.cabal
@@ -1,5 +1,5 @@
 name:                 gi-gtk-declarative-app-simple
-version:              0.5.0
+version:              0.6.0
 synopsis:             Declarative GTK+ programming in Haskell in the style of Pux.
 description:          Experimental application architecture in the style of
                       PureScript Pux, built on top of gi-gtk-declarative.
@@ -27,13 +27,13 @@
                       , gi-glib
                       , gi-gtk                  >= 3      && <4
                       , gi-gdk
-                      , haskell-gi              >= 0.21   && <0.23
-                      , haskell-gi-base         >= 0.21   && <0.23
+                      , haskell-gi              >= 0.21   && <0.24
+                      , haskell-gi-base         >= 0.21   && <0.24
                       , haskell-gi-overloading  == 1.0
                       , pipes                   >= 4      && <5
                       , pipes-concurrency       >= 2      && <3
                       , text
-                      , gi-gtk-declarative      >= 0.4  && <0.6
+                      , gi-gtk-declarative      >= 0.4  && <0.7
   hs-source-dirs:       src
   default-language:     Haskell2010
   ghc-options:          -Wall
diff --git a/src/GI/Gtk/Declarative/App/Simple.hs b/src/GI/Gtk/Declarative/App/Simple.hs
--- a/src/GI/Gtk/Declarative/App/Simple.hs
+++ b/src/GI/Gtk/Declarative/App/Simple.hs
@@ -70,7 +70,7 @@
 -- convenience function that is highly recommended. If you need more
 -- flexibility, e.g. to set up GTK+ yourself, use 'runLoop' instead.
 run
-  :: (Typeable event, Gtk.IsWindow window, Gtk.IsBin window)
+  :: Gtk.IsBin window
   => App window state event      -- ^ Application to run
   -> IO state
 run app = do
@@ -96,7 +96,7 @@
 --     Gtk.main
 -- @
 runLoop
-  :: (Typeable event, Gtk.IsWindow window, Gtk.IsBin window)
+  :: Gtk.IsBin window
   => App window state event
   -> IO state
 runLoop App {..} = do
