diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+2.7.0.7
+-------
+* Removed redundant constraints.
+
 2.7.0.6
 --------
 * Relaxed upper version bound for `OpenGLRaw`.
diff --git a/GLUT.cabal b/GLUT.cabal
--- a/GLUT.cabal
+++ b/GLUT.cabal
@@ -1,5 +1,5 @@
 name: GLUT
-version: 2.7.0.6
+version: 2.7.0.7
 synopsis: A binding for the OpenGL Utility Toolkit
 description:
   A Haskell binding for the OpenGL Utility Toolkit, a window system independent
@@ -15,7 +15,16 @@
 maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
 category: Graphics
 build-type: Simple
-cabal-version: >=1.10
+tested-with:
+  GHC == 7.0.4
+  GHC == 7.2.2
+  GHC == 7.4.2
+  GHC == 7.6.3
+  GHC == 7.8.4
+  GHC == 7.10.3
+  GHC == 8.0.1
+  GHC == 8.1
+cabal-version: >= 1.10
 extra-source-files:
    CHANGELOG.md
    README.md
@@ -83,6 +92,8 @@
   default-language: Haskell2010
   other-extensions: CPP
   ghc-options: -Wall
+  if impl(ghc > 8)
+    ghc-options: -Wcompat
   if os(windows) && flag(UseNativeWindowsLibraries)
     if arch(i386)
       cpp-options: "-DCALLCONV=stdcall"
diff --git a/src/Graphics/UI/GLUT/Fonts.hs b/src/Graphics/UI/GLUT/Fonts.hs
--- a/src/Graphics/UI/GLUT/Fonts.hs
+++ b/src/Graphics/UI/GLUT/Fonts.hs
@@ -79,7 +79,7 @@
    i <- marshalBitmapFont f
    mapM_ (\c -> withChar c (glutBitmapCharacter i)) s
 
-withChar :: MonadIO m => Char -> (CInt -> m a) -> m a
+withChar :: Char -> (CInt -> m a) -> m a
 withChar c f = f . fromIntegral . ord $ c
 
 --------------------------------------------------------------------------------
