diff --git a/Control/Monad/Unpack/TH.hs b/Control/Monad/Unpack/TH.hs
--- a/Control/Monad/Unpack/TH.hs
+++ b/Control/Monad/Unpack/TH.hs
@@ -5,7 +5,13 @@
 import Control.Monad.Unpack.Class
 
 import Language.Haskell.TH
+import System.IO.Unsafe
+import Data.IORef
 
+-- Apparently, newName still generates name conflicts in GHC 7.2?  Really, really weird.
+uglyUnique :: IORef Int
+uglyUnique = unsafePerformIO (newIORef 0)
+
 -- | Unpack wrappers around primitive types, like 'Int'.
 unpack1Instance :: Name -> Q [Dec]
 unpack1Instance tycon = do
@@ -50,6 +56,9 @@
     (map PlainTV argNames)
     (NormalC (tupleDataName n) [(NotStrict, VarT argName) | argName <- argNames])
 
+getUnique :: Q Int
+getUnique = runIO (atomicModifyIORef uglyUnique (\ n -> (n+1, n)))
+
 unpacker1 :: Cxt -> Name -> [TyVarBndr] -> Con -> Q [Dec]
 unpacker1 cxt tyCon tyArgs con = case conArgs con of
   (conName, conArgs) -> do
@@ -61,7 +70,8 @@
 	    inline,
 	  PragmaD $ InlineP (mkName "unpackedReaderT")
 	    inline]
-    funcName <- newName "UnpackedReaderT"
+    u <- getUnique
+    funcName <- newName $ "UnpackedReaderTCon" ++ show u
     mName <- newName "m"
     aName <- newName "a"
     fName <- newName "func"
@@ -88,7 +98,8 @@
 	    inline,
 	  PragmaD $ InlineP (mkName "unpackedReaderT")
 	    inline]
-    funcName <- newName "UnpackedReaderT"
+    u <- getUnique
+    funcName <- newName $ "UnpackedReaderT" ++ show u
     mName <- newName "m"
     aName <- newName "a"
     fName <- newName "func"
@@ -120,7 +131,8 @@
 	    inline,
 	  PragmaD $ InlineP (mkName "unpackedReaderT")
 	    inline]
-    funcName <- newName "UnpackedReaderT"
+    u <- getUnique
+    funcName <- newName $ "UnpackedReaderT" ++ show u
     mName <- newName "m"
     aName <- newName "a"
     fName <- newName "func"
diff --git a/unpack-funcs.cabal b/unpack-funcs.cabal
--- a/unpack-funcs.cabal
+++ b/unpack-funcs.cabal
@@ -1,5 +1,5 @@
 name:		     unpack-funcs
-version:             0.2.0
+version:             0.3.0
 cabal-version:       >= 1.6
 tested-with:	     GHC
 category:            Control
