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,14 +1,18 @@
 name:                 gi-gtk-declarative-app-simple
-version:              0.3.0
+version:              0.4.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. Learn
-                      more in the README below.
+                      PureScript Pux, built on top of gi-gtk-declarative.
+
+                      See [the project website](https://owickstrom.github.io/gi-gtk-declarative/)
+                      for user guides and more information.
 license:              MPL-2.0
 license-file:         LICENSE
 author:               Oskar Wickström
 maintainer:           oskar.wickstrom@gmail.com
 copyright:            Oskar Wickström
+homepage:             https://owickstrom.github.io/gi-gtk-declarative/
+bug-reports:          https://github.com/owickstrom/gi-gtk-declarative/issues
 category:             Graphics
 build-type:           Simple
 cabal-version:        >=1.10
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
@@ -22,7 +22,6 @@
 import qualified GI.GLib.Constants              as GLib
 import qualified GI.Gtk                         as Gtk
 import           GI.Gtk.Declarative
-import           GI.Gtk.Declarative.Bin
 import           GI.Gtk.Declarative.EventSource
 import           GI.Gtk.Declarative.State
 import           Pipes
@@ -46,7 +45,7 @@
 
 -- | The top-level widget for the 'view' function of an 'App',
 -- requiring a GTK+ 'Window'.
-type AppView window event = Bin window Widget event
+type AppView window event = Bin window event
 
 -- | The result of applying the 'update' function, deciding if and how to
 -- transition to the next state.
@@ -69,7 +68,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, BinChild window Widget)
+  :: (Typeable event, Gtk.IsWindow window, Gtk.IsBin window)
   => App window state event      -- ^ Application to run
   -> IO state
 run app = do
@@ -93,7 +92,7 @@
 --       Gtk.mainQuit
 --     Gtk.main
 -- @
-runLoop :: (Typeable event, BinChild window Widget) => App window state event -> IO state
+runLoop :: (Typeable event, Gtk.IsWindow window, Gtk.IsBin window) => App window state event -> IO state
 runLoop App {..} = do
   let firstMarkup = view initialState
   events                  <- newChan
