diff --git a/src/Network/Wai/Middleware/ContentType/ByteString.hs b/src/Network/Wai/Middleware/ContentType/ByteString.hs
--- a/src/Network/Wai/Middleware/ContentType/ByteString.hs
+++ b/src/Network/Wai/Middleware/ContentType/ByteString.hs
@@ -9,7 +9,6 @@
 import qualified Network.Wai.Util                        as U
 
 import qualified Data.ByteString.Lazy                    as B
-import           Data.Map
 import           Control.Monad.Trans (lift)
 import           Control.Monad.IO.Class
 
diff --git a/src/Network/Wai/Middleware/ContentType/Types.hs b/src/Network/Wai/Middleware/ContentType/Types.hs
--- a/src/Network/Wai/Middleware/ContentType/Types.hs
+++ b/src/Network/Wai/Middleware/ContentType/Types.hs
@@ -1,10 +1,12 @@
 {-# LANGUAGE
-    DeriveFunctor
+    TypeFamilies
+  , DeriveFunctor
   , FlexibleContexts
   , DeriveTraversable
   , OverloadedStrings
   , FlexibleInstances
   , StandaloneDeriving
+  , UndecidableInstances
   , MultiParamTypeClasses
   , GeneralizedNewtypeDeriving
   #-}
@@ -26,8 +28,18 @@
 import           Data.Maybe (fromMaybe)
 import           Data.Monoid
 import           Data.Foldable
-import           Control.Monad.Trans
+import           Control.Applicative
+import           Control.Monad.Base
+import           Control.Monad.Catch
+import           Control.Monad.Cont
+import           Control.Monad.Except
+import           Control.Monad.Trans.Control hiding (embed)
+import           Control.Monad.Trans.Resource
 import           Control.Monad.State
+import           Control.Monad.Writer hiding (tell)
+import           Control.Monad.Reader
+import           Control.Monad.Logger
+import           Control.Monad.Morph
 
 
 tell :: (Monoid w, MonadState w m) => w -> m ()
@@ -78,7 +90,25 @@
 
 newtype FileExtListenerT r m a =
   FileExtListenerT { runFileExtListenerT :: StateT (FileExts r) m a }
-    deriving (Functor, Applicative, Monad, MonadIO, MonadTrans, MonadState (FileExts r))
+    deriving ( Functor, Applicative, Alternative, Monad, MonadFix, MonadPlus, MonadIO
+             , MonadTrans, MonadReader r', MonadWriter w, MonadState (FileExts r)
+             , MonadCont, MonadError e, MonadBase b, MonadThrow, MonadCatch
+             , MonadMask, MonadLogger, MFunctor
+             )
+
+deriving instance (MonadResource m, MonadBase IO m) => MonadResource (FileExtListenerT r m)
+
+instance MonadTransControl (FileExtListenerT r) where
+  type StT (FileExtListenerT r) a = StT (StateT (FileExts r)) a
+  liftWith = defaultLiftWith FileExtListenerT runFileExtListenerT
+  restoreT = defaultRestoreT FileExtListenerT
+
+instance ( MonadBaseControl b m
+         ) => MonadBaseControl b (FileExtListenerT r m) where
+  type StM (FileExtListenerT r m) a = ComposeSt (FileExtListenerT r) m a
+  liftBaseWith = defaultLiftBaseWith
+  restoreM     = defaultRestoreM
+
 
 execFileExtListenerT :: Monad m => FileExtListenerT r m a -> m (FileExts r)
 execFileExtListenerT xs = execStateT (runFileExtListenerT xs) mempty
diff --git a/wai-middleware-content-type.cabal b/wai-middleware-content-type.cabal
--- a/wai-middleware-content-type.cabal
+++ b/wai-middleware-content-type.cabal
@@ -1,5 +1,5 @@
 Name:                   wai-middleware-content-type
-Version:                0.0.3.1
+Version:                0.0.3.2
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
@@ -26,20 +26,26 @@
                         Network.Wai.Middleware.ContentType.Lucius
                         Network.Wai.Middleware.ContentType.Text
                         Network.Wai.Middleware.ContentType.Middleware
-  Build-Depends:        base >= 4.6 && < 5
+  Build-Depends:        base >= 4.8 && < 5
                       , aeson
                       , blaze-builder
                       , blaze-html
                       , bytestring
                       , clay
                       , containers
+                      , exceptions
                       , http-media
                       , http-types
                       , lucid
+                      , mmorph
+                      , monad-control
+                      , monad-logger
                       , mtl
+                      , resourcet
                       , shakespeare
                       , text
                       , transformers
+                      , transformers-base
                       , wai
                       , wai-transformers >= 0.0.3
                       , wai-util
