diff --git a/prometheus.cabal b/prometheus.cabal
--- a/prometheus.cabal
+++ b/prometheus.cabal
@@ -1,5 +1,5 @@
 name:                prometheus
-version:             0.3.1
+version:             0.3.2
 synopsis:            Prometheus Haskell Client
 homepage:            http://github.com/LukeHoersten/prometheus#readme
 bug-reports:         http://github.com/LukeHoersten/prometheus/issues
diff --git a/src/System/Metrics/Prometheus/Concurrent/Http.hs b/src/System/Metrics/Prometheus/Concurrent/Http.hs
--- a/src/System/Metrics/Prometheus/Concurrent/Http.hs
+++ b/src/System/Metrics/Prometheus/Concurrent/Http.hs
@@ -2,7 +2,8 @@
 
 module System.Metrics.Prometheus.Concurrent.Http where
 
-import           Control.Monad.IO.Class                         (liftIO)
+import           Control.Monad.IO.Class                         (MonadIO,
+                                                                 liftIO)
 import           Data.Text                                      (Text)
 import           Network.HTTP.Types                             (hContentType,
                                                                  methodGet,
@@ -26,11 +27,11 @@
 type Path = [Text]
 
 
-serveHttpTextMetrics :: Port -> Path -> IO RegistrySample -> IO ()
-serveHttpTextMetrics port path = run port . app path
+serveHttpTextMetrics :: MonadIO m => Port -> Path -> IO RegistrySample -> m ()
+serveHttpTextMetrics port path = liftIO . run port . app path
 
 
-serveHttpTextMetricsT :: Port -> Path -> RegistryT IO ()
+serveHttpTextMetricsT :: MonadIO m => Port -> Path -> RegistryT m ()
 serveHttpTextMetricsT port path = liftIO . serveHttpTextMetrics port path =<< sample
 
 
