diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,7 @@
+# Version 0.1.1.0 (February 5, 2017)
+
+  * Remove redundant constraints as reported by GHC 8.X.
+
 # Version 0.1.0.0 (November 21, 2016)
 
   * Initial release.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2016 Peter Jones <pjones@devalot.com>
+Copyright (c) 2016,2017 Peter Jones <pjones@devalot.com>
 
 All rights reserved.
 
diff --git a/playlists-http.cabal b/playlists-http.cabal
--- a/playlists-http.cabal
+++ b/playlists-http.cabal
@@ -1,15 +1,16 @@
 name:          playlists-http
-version:       0.1.0.0
+version:       0.1.1.0
 synopsis:      Library to glue together playlists and http-client
 homepage:      https://github.com/pjones/playlists-http
 license:       BSD3
 license-file:  LICENSE
 author:        Peter Jones <pjones@devalot.com>
 maintainer:    Peter Jones <pjones@devalot.com>
-copyright:     Copyright (c) 2016 Peter Jones
+copyright:     Copyright (c) 2016,2017 Peter Jones
 category:      Text
 build-type:    Simple
 cabal-version: >= 1.18
+tested-with:   GHC==7.10.3, GHC==8.0.1
 description:   Simple library for resolving playlists using http-client.
 
 --------------------------------------------------------------------------------
diff --git a/src/Text/Playlist/HTTP/Full.hs b/src/Text/Playlist/HTTP/Full.hs
--- a/src/Text/Playlist/HTTP/Full.hs
+++ b/src/Text/Playlist/HTTP/Full.hs
@@ -132,7 +132,7 @@
 
   ------------------------------------------------------------------------------
   -- | Start playlist processing with the startURL.
-  go :: (MonadIO m) => Download m Playlist
+  go :: Download m Playlist
   go = resolve [Track startURL Nothing] fetch
 
   ------------------------------------------------------------------------------
@@ -146,7 +146,7 @@
   ------------------------------------------------------------------------------
   -- | Initiate a HTTP download in IO and then delegate the parsing of
   -- the response body to the parseBody function.
-  fetch :: (MonadIO m) => Text -> Download m Playlist
+  fetch :: Text -> Download m Playlist
   fetch url = do
     r <- request url
     e <- ask
@@ -158,7 +158,7 @@
 
   ------------------------------------------------------------------------------
   -- | Like liftIO but catch exceptions and turn them into an Error.
-  safeIO :: (MonadIO m) => IO (Either Error a) -> Download m a
+  safeIO :: IO (Either Error a) -> Download m a
   safeIO action = io (catch action stop)
     where
       io a = Download (lift (hoistEither =<< liftIO a))
@@ -189,14 +189,14 @@
 
     ----------------------------------------------------------------------------
     -- | Dispatch an attoparsec response.
-    dispatch :: (MonadIO m) => Atto.Result Playlist -> Download m Playlist
+    dispatch :: Atto.Result Playlist -> Download m Playlist
     dispatch (Atto.Fail _ _ err) = Download . lift $ left (FailedToParse err)
     dispatch (Atto.Partial f)    = readChunk >>= dispatch . f
     dispatch (Atto.Done _ r)     = return r
 
     ----------------------------------------------------------------------------
     -- | Read bytes from the HTTP body.
-    readChunk :: (MonadIO m) => Download m ByteString
+    readChunk :: Download m ByteString
     readChunk = do
       check <- asks httpByteCheck
       count <- gets httpBytes
