diff --git a/snap-core.cabal b/snap-core.cabal
--- a/snap-core.cabal
+++ b/snap-core.cabal
@@ -1,5 +1,5 @@
 name:           snap-core
-version:        0.9.6.0
+version:        0.9.6.1
 synopsis:       Snap: A Haskell Web Framework (core interfaces and types)
 
 description:
diff --git a/src/Snap/Internal/Test/RequestBuilder.hs b/src/Snap/Internal/Test/RequestBuilder.hs
--- a/src/Snap/Internal/Test/RequestBuilder.hs
+++ b/src/Snap/Internal/Test/RequestBuilder.hs
@@ -36,6 +36,7 @@
 ------------------------------------------------------------------------------
 import           Blaze.ByteString.Builder
 import           Blaze.ByteString.Builder.Char8
+import           Control.Applicative
 import           Control.Monad.State            hiding (get, put)
 import qualified Control.Monad.State            as State
 import           Data.Bits
@@ -68,7 +69,7 @@
 -- | RequestBuilder is a monad transformer that allows you to conveniently
 -- build a snap 'Request' for testing.
 newtype RequestBuilder m a = RequestBuilder (StateT Request m a)
-  deriving (Monad, MonadIO, MonadState Request, MonadTrans)
+  deriving (Functor, Applicative, Monad, MonadIO, MonadState Request, MonadTrans)
 
 
 ------------------------------------------------------------------------------
diff --git a/src/Snap/Internal/Types.hs b/src/Snap/Internal/Types.hs
--- a/src/Snap/Internal/Types.hs
+++ b/src/Snap/Internal/Types.hs
@@ -8,6 +8,7 @@
 {-# LANGUAGE Rank2Types                #-}
 {-# LANGUAGE ScopedTypeVariables       #-}
 {-# LANGUAGE TypeSynonymInstances      #-}
+{-# LANGUAGE StandaloneDeriving        #-}
 
 module Snap.Internal.Types where
 
@@ -272,8 +273,12 @@
 #endif
 {-# NOINLINE snapTyCon #-}
 
+#if __GLASGOW_HASKELL__ < 708
 instance Typeable1 Snap where
     typeOf1 _ = mkTyConApp snapTyCon []
+#else
+deriving instance Typeable Snap
+#endif
 
 
 ------------------------------------------------------------------------------
