diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.3.2.0
+### Changed
+- Make widgetColumn function slightly more flexible.
+
 ## 0.3.1.2
 ### Changed
 - Mark as compatible with Monomer 1.6.
diff --git a/monomer-hagrid.cabal b/monomer-hagrid.cabal
--- a/monomer-hagrid.cabal
+++ b/monomer-hagrid.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.0
 name:               monomer-hagrid
-version:            0.3.1.2
+version:            0.3.2.0
 license:            MIT
 license-file:       LICENSE
 maintainer:         garethdanielsmith@gmail.com
@@ -44,11 +44,11 @@
 
     build-depends:
         base >=4.7 && <5,
-        containers <0.7,
-        data-default-class <0.2,
-        lens <5.3,
+        containers >=0.6.7 && <0.7,
+        data-default-class >=0.1.2.0 && <0.2,
+        lens >=5.2.3 && <5.3,
         monomer >=1.5.1.0 && <1.7,
-        text <2.1
+        text >=2.0.2 && <2.1
 
 executable example-basic
     main-is:            Main.hs
@@ -69,13 +69,13 @@
 
     build-depends:
         base >=4.7 && <5,
-        containers <0.7,
-        data-default-class <0.2,
-        lens <5.3,
+        containers >=0.6.7 && <0.7,
+        data-default-class >=0.1.2.0 && <0.2,
+        lens >=5.2.3 && <5.3,
         monomer >=1.5.1.0 && <1.7,
         monomer-hagrid,
-        text <2.1,
-        time <1.13
+        text >=2.0.2 && <2.1,
+        time >=1.12.2 && <1.13
 
     if flag(examples)
 
@@ -101,12 +101,12 @@
 
     build-depends:
         base >=4.7 && <5,
-        containers <0.7,
-        data-default-class <0.2,
-        lens <5.3,
+        containers >=0.6.7 && <0.7,
+        data-default-class >=0.1.2.0 && <0.2,
+        lens >=5.2.3 && <5.3,
         monomer >=1.5.1.0 && <1.7,
         monomer-hagrid,
-        text <2.1
+        text >=2.0.2 && <2.1
 
     if flag(examples)
 
@@ -132,13 +132,13 @@
 
     build-depends:
         base >=4.7 && <5,
-        containers <0.7,
-        data-default-class <0.2,
-        lens <5.3,
+        containers >=0.6.7 && <0.7,
+        data-default-class >=0.1.2.0 && <0.2,
+        lens >=5.2.3 && <5.3,
         monomer >=1.5.1.0 && <1.7,
         monomer-hagrid,
-        random <1.3,
-        text <2.1
+        random >=1.2.1.2 && <1.3,
+        text >=2.0.2 && <2.1
 
     if flag(examples)
 
@@ -170,14 +170,14 @@
 
     build-depends:
         base >=4.7 && <5,
-        bytestring <0.12,
-        containers <0.7,
-        data-default <0.8,
-        data-default-class <0.2,
+        bytestring >=0.11.5.3 && <0.12,
+        containers >=0.6.7 && <0.7,
+        data-default >=0.7.1.1 && <0.8,
+        data-default-class >=0.1.2.0 && <0.2,
         hspec >=2 && <3,
-        lens <5.3,
+        lens >=5.2.3 && <5.3,
         monomer >=1.5.1.0 && <1.7,
         monomer-hagrid,
-        mtl <2.3,
-        stm <2.6,
-        text <2.1
+        mtl >=2.3.1 && <2.4,
+        stm >=2.5.1.0 && <2.6,
+        text >=2.0.2 && <2.1
diff --git a/src/Monomer/Hagrid.hs b/src/Monomer/Hagrid.hs
--- a/src/Monomer/Hagrid.hs
+++ b/src/Monomer/Hagrid.hs
@@ -1031,7 +1031,7 @@
   Text ->
   -- | Called with the (original, not sorted) index and the item for each row to get the widget to
   -- display for that row.
-  (forall s. Int -> a -> WidgetNode s e) ->
+  (forall s. (WidgetModel s) => Int -> a -> WidgetNode s e) ->
   Column e a
 widgetColumn name get = defaultColumn name (CustomWidget get)
 
diff --git a/test/Monomer/TestUtil.hs b/test/Monomer/TestUtil.hs
--- a/test/Monomer/TestUtil.hs
+++ b/test/Monomer/TestUtil.hs
@@ -18,6 +18,7 @@
 import Control.Concurrent (newMVar)
 import Control.Concurrent.STM.TChan (newTChanIO)
 import Control.Lens ((&), (^.), (.~), (.=))
+import Control.Monad (foldM)
 import Control.Monad.State
 import Data.Default
 import Data.Maybe
