diff --git a/reflex-gloss.cabal b/reflex-gloss.cabal
--- a/reflex-gloss.cabal
+++ b/reflex-gloss.cabal
@@ -1,5 +1,5 @@
 name:                reflex-gloss
-version:             0.1.0.2
+version:             0.2
 synopsis:            An reflex interface for gloss.
 description:         This package exports a simple wrapper, in terms of
                      Graphics.Gloss.Interface.IO.Game, that allows full
@@ -24,8 +24,9 @@
   exposed-modules:     Reflex.Gloss
   build-depends:       base >=4.6 && <4.9,
                        gloss >= 1.9.2.1 && < 1.10,
-                       reflex >=0.2 && <0.4,
-                       dependent-sum >= 0.2.1 && < 0.3,
-                       transformers >= 0.4.2 && < 0.5
+                       reflex >=0.4 && <0.5,
+                       dependent-sum >= 0.3.2.1 && < 0.4,
+                       transformers >= 0.4.2 && < 0.5,
+                       mtl >=2.2.1 && < 2.3
   hs-source-dirs:      src
   default-language:    Haskell2010
diff --git a/src/Reflex/Gloss.hs b/src/Reflex/Gloss.hs
--- a/src/Reflex/Gloss.hs
+++ b/src/Reflex/Gloss.hs
@@ -19,6 +19,7 @@
   where
 
 import           Control.Monad.Fix      (MonadFix)
+import           Control.Monad.Identity
 import           Control.Monad.IO.Class (liftIO)
 import           Data.Dependent.Sum (DSum ((:=>)))
 import           Data.IORef             (readIORef)
@@ -67,4 +68,4 @@
       mETrigger <- liftIO $ readIORef trigger
       case mETrigger of
         Nothing       -> return ()
-        Just eTrigger -> fireEvents [eTrigger :=> e]
+        Just eTrigger -> fireEvents [eTrigger :=> Identity e]
