diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-08-22  Facundo Domínguez  <facundo.dominguez@tweag.io>  0.3.7
+
+* Make nominal the role of static
+
 2017-08-22  Facundo Domínguez  <facundo.dominguez@tweag.io>  0.3.6
 
 * Move upper bound of rank1dynamic to support ghc-8.2.1.
diff --git a/distributed-static.cabal b/distributed-static.cabal
--- a/distributed-static.cabal
+++ b/distributed-static.cabal
@@ -1,5 +1,5 @@
 Name:                distributed-static
-Version:             0.3.6
+Version:             0.3.7
 Synopsis:            Compositional, type-safe, polymorphic static values and closures
 Description:         /Towards Haskell in the Cloud/ (Epstein et al, Haskell
                      Symposium 2011) introduces the concept of /static/ values:
diff --git a/src/Control/Distributed/Static.hs b/src/Control/Distributed/Static.hs
--- a/src/Control/Distributed/Static.hs
+++ b/src/Control/Distributed/Static.hs
@@ -170,6 +170,7 @@
 {-# LANGUAGE CPP #-}
 #if __GLASGOW_HASKELL__ >= 710
 {-# LANGUAGE StaticPointers #-}
+{-# LANGUAGE RoleAnnotations #-}
 #endif
 module Control.Distributed.Static
   ( -- * Static values
@@ -289,6 +290,11 @@
 newtype Static a = Static StaticLabel
   deriving (Eq, Ord, Typeable, Show)
 
+-- Trying to 'coerce' static values will lead to unification errors
+#if __GLASGOW_HASKELL__ >= 710
+type role Static nominal
+#endif
+
 instance NFData (Static a) where
   rnf (Static s) = rnf s
 
@@ -493,7 +499,7 @@
 decodeEnvPairStatic = staticLabel "$decodeEnvPair"
 
 -- | Closure application
-closureApply :: forall a b . 
+closureApply :: forall a b .
                 Closure (a -> b) -> Closure a -> Closure b
 closureApply (Closure fdec fenv) (Closure xdec xenv) =
     closure decoder (encode (fenv, xenv))
