diff --git a/Data/Set/Base.hs b/Data/Set/Base.hs
--- a/Data/Set/Base.hs
+++ b/Data/Set/Base.hs
@@ -229,7 +229,7 @@
 
 type Size     = Int
 
-#if __GLASGOW_HASKELL >= 708
+#if __GLASGOW_HASKELL__ >= 708
 type role Set nominal
 #endif
 
diff --git a/containers.cabal b/containers.cabal
--- a/containers.cabal
+++ b/containers.cabal
@@ -1,5 +1,5 @@
 name: containers
-version: 0.5.5.0
+version: 0.5.5.1
 license: BSD3
 license-file: LICENSE
 maintainer: fox@ucw.cz
diff --git a/tests/Regressions.hs b/tests/Regressions.hs
new file mode 100644
--- /dev/null
+++ b/tests/Regressions.hs
@@ -0,0 +1,9 @@
+module Main where
+
+newtype Age = MkAge Int
+
+main :: IO ()
+main = return ()
+  where
+    -- This won't compile if the role annotations are incorrect:
+    
