diff --git a/Data/Constraint.hs b/Data/Constraint.hs
--- a/Data/Constraint.hs
+++ b/Data/Constraint.hs
@@ -15,6 +15,7 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 707
 {-# LANGUAGE AllowAmbiguousTypes #-}
+{-# LANGUAGE RoleAnnotations #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
@@ -60,12 +61,19 @@
 data Dict :: Constraint -> * where
   Dict :: a => Dict a
 
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 707
+type role Dict nominal
+#endif
+
 deriving instance Eq (Dict a)
 deriving instance Ord (Dict a)
 deriving instance Show (Dict a)
 
 infixr 9 :-
 newtype a :- b = Sub (a => Dict b)
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 707
+type role (:-) nominal nominal
+#endif
 
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 707
 instance Category (:-) where
diff --git a/Data/Constraint/Forall.hs b/Data/Constraint/Forall.hs
--- a/Data/Constraint/Forall.hs
+++ b/Data/Constraint/Forall.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE FlexibleInstances #-}
@@ -6,6 +7,9 @@
 {-# LANGUAGE KindSignatures #-}
 {-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE Trustworthy #-}
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 707
+{-# LANGUAGE RoleAnnotations #-}
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Data.Constraint.Forall
@@ -38,9 +42,15 @@
 
 data F a
 data M a
+
 type Forall1 (p :: (* -> *) -> Constraint) = (p F, p M)
 
 type ForallT (p :: * -> Constraint) (t :: (* -> *) -> * -> *) = (p (t F A), p (t M B))
+
+#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 707
+type role F nominal
+type role M nominal
+#endif
 
 
 -- | instantiate a quantified constraint on kind @*@
diff --git a/constraints.cabal b/constraints.cabal
--- a/constraints.cabal
+++ b/constraints.cabal
@@ -1,6 +1,6 @@
 name:          constraints
 category:      Constraints
-version:       0.3.4.2
+version:       0.3.5
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -13,6 +13,7 @@
 synopsis:      Constraint manipulation
 description:   Constraint manipulation
 build-type:    Simple
+tested-with:   GHC == 7.7.20131027, GHC == 7.7.20131025, GHC == 7.6.3
 extra-source-files: README.markdown
 
 source-repository head
