diff --git a/src/Network/Wai/Middleware/ContentType.hs b/src/Network/Wai/Middleware/ContentType.hs
--- a/src/Network/Wai/Middleware/ContentType.hs
+++ b/src/Network/Wai/Middleware/ContentType.hs
@@ -48,12 +48,9 @@
                          pathInfo)
 import Network.Wai.Logger (withStdoutLogger)
 import qualified Data.HashMap.Lazy as HM
-import qualified Data.HashSet  as HS
 import Data.Monoid
-import Control.Monad
 import Control.Monad.Trans.Control.Aligned (MonadBaseControl (..))
 import Data.Singleton.Class (Extractable (..))
-import Debug.Trace (traceShow)
 
 
 
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
@@ -6,7 +6,6 @@
 
 import qualified Data.ByteString.Lazy                    as LBS
 import qualified Data.HashMap.Lazy                       as HM
-import           Control.Monad.Reader (ask)
 import           Control.Monad.IO.Class (MonadIO (..))
 
 
diff --git a/src/Network/Wai/Middleware/ContentType/Pandoc.hs b/src/Network/Wai/Middleware/ContentType/Pandoc.hs
--- a/src/Network/Wai/Middleware/ContentType/Pandoc.hs
+++ b/src/Network/Wai/Middleware/ContentType/Pandoc.hs
@@ -34,5 +34,6 @@
 -- * Data Only
 
 markdownOnly :: P.Pandoc -> Status -> ResponseHeaders -> Response
-markdownOnly p =
-  textOnly (LT.pack $ P.writeMarkdown P.def p)
+markdownOnly p = case P.runPure (P.writeMarkdown P.def p) of
+  Left e -> error (show e)
+  Right x -> textOnly (LT.fromStrict x)
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
@@ -63,13 +63,11 @@
 import           Control.Monad.Writer hiding (tell)
 import           Control.Monad.Reader
 import           Control.Monad.Logger
-import           Control.Monad.Morph
 
 import           GHC.Generics
 import           Network.HTTP.Types (Status, ResponseHeaders)
 import           Network.HTTP.Media (mapAccept)
 import           Network.Wai.Trans (Response)
-import           Network.Wai.Logger (ApacheLogger)
 
 
 -- | Version of 'Control.Monad.Writer.tell' for 'Control.Monad.State.StateT'
@@ -180,6 +178,7 @@
 
 instance MonadReader r m => MonadReader r (FileExtListenerT m) where
   ask = FileExtListenerT $ ReaderT $ \_ -> ask
+  local f (FileExtListenerT (ReaderT g)) = FileExtListenerT $ ReaderT $ \x -> local f (g x)
 
 instance Monad m => Monoid (FileExtListenerT m ()) where
   mempty = FileExtListenerT $ put 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.5.1
+Version:                0.5.2
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                BSD3
@@ -49,7 +49,7 @@
                       , monad-control-aligned
                       , monad-logger
                       , mtl
-                      , pandoc
+                      , pandoc >= 2.0
                       , resourcet
                       , shakespeare
                       , text
