diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+0.6
+---
+* Removed `self`/`selfM`. Use `pure` and `return`.
+
 0.5
 ---
 * Updated dependencies
diff --git a/src/Data/Functor/Trans/Tagged.hs b/src/Data/Functor/Trans/Tagged.hs
--- a/src/Data/Functor/Trans/Tagged.hs
+++ b/src/Data/Functor/Trans/Tagged.hs
@@ -23,7 +23,7 @@
   (
   -- * Tagged values
     TaggedT(..)
-  , tag, self, selfM, untag
+  , tag, untag
   , retag
   , mapTaggedT
   , reflected, reflectedM
@@ -68,7 +68,6 @@
 newtype TaggedT s m b = TagT { untagT :: m b }
   deriving ( Eq, Ord, Read, Show )
 
-
 instance Functor m => Functor (TaggedT s m) where
   fmap f (TagT x) = TagT (fmap f x)
   {-# INLINE fmap #-}
@@ -109,7 +108,6 @@
   TagT m >> TagT n = TagT (m >> n)
   {-# INLINE (>>) #-}
 
-
 instance Alt m => Alt (TaggedT s m) where
   TagT a <!> TagT b = TagT (a <!> b)
   {-# INLINE (<!>) #-}
@@ -135,7 +133,6 @@
   mfix f = TagT $ mfix (untagT . f)
   {-# INLINE mfix #-}
 
-
 instance MonadTrans (TaggedT s) where
   lift = TagT
   {-# INLINE lift #-}
@@ -180,7 +177,6 @@
   callCC f = lift . callCC $ \k -> untag (f (tag . k))
   {-# INLINE callCC #-}
 
-
 instance Foldable f => Foldable (TaggedT s f) where
   foldMap f (TagT x) = foldMap f x
   {-# INLINE foldMap #-}
@@ -209,7 +205,6 @@
   distribute = TagT . distribute . fmap untagT
   {-# INLINE distribute #-}
 
-
 instance Extend f => Extend (TaggedT s f) where
   extended f (TagT w) = TagT (extended (f . TagT) w)
   {-# INLINE extended #-}
@@ -218,7 +213,6 @@
   extract (TagT w) = extract w
   {-# INLINE extract #-}
 
-
 instance ComonadTrans (TaggedT s) where
   lower (TagT w) = w
   {-# INLINE lower #-}
@@ -228,7 +222,6 @@
   cohoist f = TagT . f . untagT
   {-# INLINE cohoist #-}
 
-
 instance MonadCatch m => MonadCatch (TaggedT s m) where
   throwM e = lift $ throwM e
   {-# INLINE throwM #-}
@@ -241,7 +234,6 @@
     where q u = tag . u . untag
   {-# INLINE uninterruptibleMask#-}
 
-
 -- | Easier to type alias for 'TagT'
 tag :: m b -> TaggedT s m b
 tag = TagT
@@ -263,24 +255,11 @@
 retag = tag . untag
 {-# INLINE retag #-}
 
-
 -- | Lift an operation on underlying monad
 mapTaggedT :: (m a -> n b) -> TaggedT s m a -> TaggedT s n b
 mapTaggedT f = tag . f . untag
 {-# INLINE mapTaggedT #-}
 
-
--- | Tag value with its own type in 'Applicative' context
-self :: Applicative m => a -> TaggedT a m a
-self = tag . pure
-{-# INLINE self #-}
-
--- | Tag value with its own type in 'Monad' context
-selfM :: Monad m => a -> TaggedT s m a
-selfM = tag . return
-{-# INLINE selfM #-}
-
-
 -- | Reflect reified value back in 'Applicative' context
 reflected :: forall s m a. (Applicative m, Reifies s a) => TaggedT s m a
 reflected = tag . pure . reflect $ (Proxy :: Proxy s)
@@ -290,7 +269,6 @@
 reflectedM :: forall s m a. (Monad m, Reifies s a) => TaggedT s m a
 reflectedM = tag . return . reflect $ (Proxy :: Proxy s)
 {-# INLINE reflectedM #-}
-
 
 -- | 'asTaggedTypeOf' is a type-restricted version of 'const'. It is usually used as an infix operator, and its typing forces its first argument (which is usually overloaded) to have the same type as the tag of the second.
 asTaggedTypeOf :: s -> TaggedT s m b -> s
diff --git a/tagged-transformer.cabal b/tagged-transformer.cabal
--- a/tagged-transformer.cabal
+++ b/tagged-transformer.cabal
@@ -1,5 +1,5 @@
 name:           tagged-transformer
-version:        0.5
+version:        0.6
 license:        BSD3
 license-file:   LICENSE
 author:         Edward A. Kmett
