diff --git a/GHC/Types.hs b/GHC/Types.hs
index 3303cdacd89e116a6f09a5be5ba2256a52109d7d..8e1c11b9713cc0a85ae1b320fe8d804f5e41a760 100644
--- a/GHC/Types.hs
+++ b/GHC/Types.hs
@@ -78,6 +78,13 @@ or the '>>' and '>>=' operations from the 'Monad' class.
 newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #))
 
 
+-- | A data constructor used to box up all unlifted equalities
+--
+-- The type constructor is special in that GHC pretends that it
+-- has kind (? -> ? -> Fact) rather than (* -> * -> *)
+data (~) a b = Eq# ((~#) a b)
+
+
 --------------------------------------------------------------------------------
 -- Generic representations
 --------------------------------------------------------------------------------