@@ -103,22 +103,27 @@ newtype DispatchT dp m a = DispatchT (Trans.IdentityT m a)
103103-- | Type-restricted 'coerce'.
104104pack :: forall dp m a . Trans.IdentityT m a -> DispatchT dp m a
105105pack = coerce
106+{-# INLINE pack #-}
106107
107108-- | Type-restricted 'coerce'.
108109unpack :: forall dp m a . DispatchT dp m a -> Trans.IdentityT m a
109110unpack = coerce
111+{-# INLINE unpack #-}
110112
111113-- | Type-restricted 'coerce'.
112114dispatchT :: forall dp m a . m a -> DispatchT dp m a
113115dispatchT = coerce
116+{-# INLINE dispatchT #-}
114117
115118-- | Type-restricted 'coerce'.
116119runDispatchT :: forall dp m a . DispatchT dp m a -> m a
117120runDispatchT = coerce
121+{-# INLINE runDispatchT #-}
118122
119123-- | Type-restricted 'coerce'.
120124redispatch :: forall dp dp' m a . DispatchT dp m a -> DispatchT dp' m a
121125redispatch = coerce
126+{-# INLINE redispatch #-}
122127
123128instance MB.MonadBase b m => MB.MonadBase b (DispatchT dp m) where
124129 liftBase = MB.liftBaseDefault
@@ -206,7 +211,7 @@ type DispatchTagAttachT t = DispatchT (TagAttach t)
206211
207212-- | Attach a tag to untagged transformers.
208213tagAttach :: forall tag m a . DispatchTagAttachT tag m a -> m a
209−tagAttach = coerce
214+tagAttach = runDispatchT
210215
211216instance MonadReader tag r m
212217 => Class.MonadReader r (DispatchTagAttachT tag m) where
@@ -240,7 +245,7 @@ type DispatchTagReplaceT tOld tNew = DispatchT (TagReplace tOld tNew)
240245
241246-- | Replace a tag with another tag.
242247tagReplace :: forall tOld tNew m a . DispatchTagReplaceT tOld tNew m a -> m a
243−tagReplace = coerce
248+tagReplace = runDispatchT
244249
245250instance MonadReader tNew r m
246251 => MonadReader tOld r (DispatchTagReplaceT tOld tNew m) where