diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+1.1.0.4
+-------
+* Corrected HasUpdate's superclass constraint.
+
 1.1.0.3
 -------
 * Removed a couple of redundant typeclass constraints.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,5 +1,5 @@
 Copyright (c) 2014-2015, Edward Kmett
-Copyright (c) 2009-2014, Sven Panne
+Copyright (c) 2009-2016, Sven Panne
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
diff --git a/StateVar.cabal b/StateVar.cabal
--- a/StateVar.cabal
+++ b/StateVar.cabal
@@ -1,20 +1,31 @@
 name: StateVar
-version: 1.1.0.3
+version: 1.1.0.4
 synopsis: State variables
 description:
   This package contains state variables, which are references in the IO monad,
   like IORefs or parts of the OpenGL state.
 homepage: https://github.com/haskell-opengl/StateVar
 bug-reports: https://github.com/haskell-opengl/StateVar/issues
-copyright: Copyright (C) 2014-2015 Edward A. Kmett, 2009-2015 Sven Panne
+copyright: Copyright (C) 2014-2015 Edward A. Kmett, 2009-2016 Sven Panne
 license: BSD3
 license-file: LICENSE
 author: Sven Panne and Edward Kmett
 maintainer: Sven Panne <svenpanne@gmail.com>
 category: Data
 build-type: Simple
-cabal-version: >=1.10
-extra-source-files: README.md CHANGELOG.md
+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:
+  README.md
+  CHANGELOG.md
 
 library
   exposed-modules:
@@ -36,7 +47,8 @@
 
   hs-source-dirs: src
   ghc-options: -Wall
-
+  if impl(ghc > 8)
+    ghc-options: -Wcompat
   if impl(ghc>=7.4)
     -- other-extensions: DefaultSignatures
     cpp-options: -DUSE_DEFAULT_SIGNATURES=1
diff --git a/src/Data/StateVar.hs b/src/Data/StateVar.hs
--- a/src/Data/StateVar.hs
+++ b/src/Data/StateVar.hs
@@ -10,7 +10,7 @@
 --------------------------------------------------------------------------------
 -- |
 -- Module      :  Data.StateVar
--- Copyright   :  (c) Edward Kmett 2014-2015, Sven Panne 2009-2014
+-- Copyright   :  (c) Edward Kmett 2014-2015, Sven Panne 2009-2016
 -- License     :  BSD3
 -- 
 -- Maintainer  :  Sven Panne <svenpanne@gmail.com>
@@ -193,7 +193,7 @@
 infixr 2 $~, $~!
 
 -- | This is the class of all updatable state variables.
-class HasSetter t a => HasUpdate t a b | t -> a b where
+class HasSetter t b => HasUpdate t a b | t -> a b where
   -- | Transform the contents of a state variable with a given funtion.
   ($~) :: MonadIO m => t -> (a -> b) -> m ()
 #if USE_DEFAULT_SIGNATURES
