diff --git a/happstack-state.cabal b/happstack-state.cabal
--- a/happstack-state.cabal
+++ b/happstack-state.cabal
@@ -1,5 +1,5 @@
 Name:                happstack-state
-Version:             0.5.0.3
+Version:             0.5.0.4
 Synopsis:            Event-based distributed state.
 Description:         Unplug your machine and restart and have your app recover to exactly where it left off. Happstack-State spares you the need to deal with all the marshalling, consistency, and configuration headache that you would have if you used an external DBMS for this purpose. Its component model makes it easy to compose big applications from smaller reliable parts. Use event subscription to trigger IO actions and support comet-style or irc-bot applications. 
 License:             BSD3
diff --git a/src/Happstack/State/ComponentTH.hs b/src/Happstack/State/ComponentTH.hs
--- a/src/Happstack/State/ComponentTH.hs
+++ b/src/Happstack/State/ComponentTH.hs
@@ -217,12 +217,12 @@
            _ -> error $ "Method is not a function: " ++ nameBase method ++ " is a " ++ showInfo methodInfo
 
 showInfo :: Info -> String
-showInfo (ClassI _) = "class"
-showInfo (TyConI _) = "type constructor"
-showInfo (PrimTyConI _ _ _) = "primitive type constructor"
-showInfo (DataConI _ _ _ _) = "data constructor"
-showInfo (VarI _ _ _ _) = "variable"
-showInfo (TyVarI _ _) = "type variable"
+showInfo ClassI{} = "class"
+showInfo TyConI{} = "type constructor"
+showInfo PrimTyConI{} = "primitive type constructor"
+showInfo DataConI{} = "data constructor"
+showInfo VarI{} = "variable"
+showInfo TyVarI{} = "type variable"
 showInfo x = pprint x
 
 
diff --git a/src/Happstack/State/Transaction.hs b/src/Happstack/State/Transaction.hs
--- a/src/Happstack/State/Transaction.hs
+++ b/src/Happstack/State/Transaction.hs
@@ -169,6 +169,7 @@
                     return $ M.union (extraEvents tx) (M.map (eventHandler tx) m)
          return $ M.unions maps
     where (componentTree, _versions, _ioActions) = collectHandlers componentProxy
+          eventHandler :: Serialize st => TxRun st -> Method st -> EventHandler
           eventHandler tx (Update fn)
               = let updateCold' ev getCxt
                         = do mv <- newEmptyMVar
@@ -190,6 +191,7 @@
                         = do cxt <- newTxContext
                              updateCold' ev $ addTxId tx cxt
                 in UpdateHandler updateCold updateHot parseObject
+
           eventHandler tx (Query fn)
               = let queryEmitter ev
                         = do mv <- newEmptyMVar
