diff --git a/Data/Reflection.hs b/Data/Reflection.hs
--- a/Data/Reflection.hs
+++ b/Data/Reflection.hs
@@ -15,8 +15,8 @@
 --
 -- <http://www.cs.rutgers.edu/~ccshan/prepose/prepose.pdf>
 --
--- Modified to work with an applicative phantom type parameter rather than 
--- explicit scope type variables by Edward Kmett.
+-- Modified to minimize extensions and work with Data.Tagged rather than 
+-- explicit scoped type variables by Edward Kmett.
 --
 -------------------------------------------------------------------------------
 
@@ -37,7 +37,6 @@
     , Reifies
     , reflect
     , reify
-    , Tagged(..)
     ) where
 
 import Foreign.C.Types
@@ -50,30 +49,12 @@
 import System.IO.Unsafe
 import Control.Applicative 
 import Prelude hiding (succ, pred)
+import Data.Tagged
 
 class Unused t where unused :: t -> ()
 
-newtype Tagged a b = Tagged { unTagged :: b } deriving (Eq,Ord,Show,Read)
 type Retag f g = forall b. Tagged g b -> Tagged f b
 
-instance Functor (Tagged a) where 
-    fmap f (Tagged x) = Tagged (f x)
-    {-# INLINE fmap #-}
-
-instance Applicative (Tagged a) where
-    pure = Tagged
-    {-# INLINE pure #-}
-    Tagged f <*> Tagged x = Tagged (f x)
-    {-# INLINE (<*>) #-}
-
-instance Monad (Tagged a) where
-    return = Tagged
-    {-# INLINE return #-}
-    Tagged m >>= k = k m 
-    {-# INLINE (>>=) #-}
-    _ >> n = n
-    {-# INLINE (>>) #-}
-
 newtype Zero = Zero Zero deriving (Show)
 newtype Twice s = Twice (Twice s) deriving (Show)
 newtype Succ s = Succ (Succ s) deriving (Show)
@@ -82,10 +63,6 @@
 instance Unused (Twice s) where unused Twice{} = ()
 instance Unused (Succ s) where unused Succ{} = ()
 instance Unused (Pred s) where unused Pred{} = ()
-
-retag :: Retag f g
-retag = Tagged . unTagged 
-{-# INLINE retag #-}
 
 pop :: Retag (f s) s
 pop = retag
diff --git a/reflection.cabal b/reflection.cabal
--- a/reflection.cabal
+++ b/reflection.cabal
@@ -1,5 +1,5 @@
 name:		    reflection
-version:	    0.2.0
+version:	    0.3.0
 license:	    BSD3
 license-file:   LICENSE
 author:		    Edward A. Kmett, Oleg Kiselyov and Chung-chieh Shan
@@ -16,7 +16,8 @@
 
 library
   build-depends: 
-    base >= 4 && < 5
+    base >= 4 && < 5,
+    tagged >= 0.0 && < 0.1
   exposed-modules:
     Data.Reflection
     
