diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,6 +1,13 @@
+4.2.6
+-----
+* Re-export `(Data.Functor.$>)` rather than supply our own on GHC 7.8+
+* Better SafeHaskell support.
+* `instance Monoid m => ComonadTraced m ((->) m)`
+
 4.2.5
 -------
 * Added a `MINIMAL` pragma to `Comonad`.
+* Added `DefaultSignatures` support for `ComonadApply` on GHC 7.2+
 
 4.2.4
 -----
diff --git a/comonad.cabal b/comonad.cabal
--- a/comonad.cabal
+++ b/comonad.cabal
@@ -1,6 +1,6 @@
 name:          comonad
 category:      Control, Comonads
-version:       4.2.5
+version:       4.2.6
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
diff --git a/src/Control/Comonad.hs b/src/Control/Comonad.hs
--- a/src/Control/Comonad.hs
+++ b/src/Control/Comonad.hs
@@ -41,6 +41,7 @@
   ) where
 
 -- import _everything_
+import Data.Functor
 import Control.Applicative
 import Control.Arrow
 import Control.Category
@@ -63,7 +64,7 @@
 import Data.Tree
 #endif
 
-infixl 4 <@, @>, <@@>, <@>, $>
+infixl 4 <@, @>, <@@>, <@>
 infixl 1 =>>
 infixr 1 <<=, =<=, =>=
 
@@ -387,6 +388,12 @@
   return = Cokleisli . const
   Cokleisli k >>= f = Cokleisli $ \w -> runCokleisli (f (k w)) w
 
+#if !(MIN_VERSION_base(4,7,0))
+
+infixl 4 $>
+
 -- | Replace the contents of a functor uniformly with a constant value.
 ($>) :: Functor f => f a -> b -> f b
 ($>) = flip (<$)
+
+#endif
diff --git a/src/Control/Comonad/Env.hs b/src/Control/Comonad/Env.hs
--- a/src/Control/Comonad/Env.hs
+++ b/src/Control/Comonad/Env.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Env/Class.hs b/src/Control/Comonad/Env/Class.hs
--- a/src/Control/Comonad/Env/Class.hs
+++ b/src/Control/Comonad/Env/Class.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Identity.hs b/src/Control/Comonad/Identity.hs
--- a/src/Control/Comonad/Identity.hs
+++ b/src/Control/Comonad/Identity.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Store.hs b/src/Control/Comonad/Store.hs
--- a/src/Control/Comonad/Store.hs
+++ b/src/Control/Comonad/Store.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Store/Class.hs b/src/Control/Comonad/Store/Class.hs
--- a/src/Control/Comonad/Store/Class.hs
+++ b/src/Control/Comonad/Store/Class.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Traced.hs b/src/Control/Comonad/Traced.hs
--- a/src/Control/Comonad/Traced.hs
+++ b/src/Control/Comonad/Traced.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Traced/Class.hs b/src/Control/Comonad/Traced/Class.hs
--- a/src/Control/Comonad/Traced/Class.hs
+++ b/src/Control/Comonad/Traced/Class.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
@@ -38,6 +38,9 @@
 
 instance (Comonad w, Monoid m) => ComonadTraced m (Traced.TracedT m w) where
   trace = Traced.trace
+
+instance Monoid m => ComonadTraced m ((->) m) where
+  trace m f = f m
 
 lowerTrace :: (ComonadTrans t, ComonadTraced m w) => m -> t w a -> a
 lowerTrace m = trace m . lower
diff --git a/src/Control/Comonad/Trans/Class.hs b/src/Control/Comonad/Trans/Class.hs
--- a/src/Control/Comonad/Trans/Class.hs
+++ b/src/Control/Comonad/Trans/Class.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
diff --git a/src/Control/Comonad/Trans/Env.hs b/src/Control/Comonad/Trans/Env.hs
--- a/src/Control/Comonad/Trans/Env.hs
+++ b/src/Control/Comonad/Trans/Env.hs
@@ -1,9 +1,8 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleContexts #-}
 #if __GLASGOW_HASKELL__ >= 707
-{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}
-#endif
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
 {-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
diff --git a/src/Control/Comonad/Trans/Store.hs b/src/Control/Comonad/Trans/Store.hs
--- a/src/Control/Comonad/Trans/Store.hs
+++ b/src/Control/Comonad/Trans/Store.hs
@@ -1,8 +1,7 @@
 {-# LANGUAGE CPP #-}
 #if __GLASGOW_HASKELL__ >= 707
-{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}
-#endif
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
 {-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
diff --git a/src/Control/Comonad/Trans/Traced.hs b/src/Control/Comonad/Trans/Traced.hs
--- a/src/Control/Comonad/Trans/Traced.hs
+++ b/src/Control/Comonad/Trans/Traced.hs
@@ -1,8 +1,7 @@
 {-# LANGUAGE CPP #-}
 #if __GLASGOW_HASKELL__ >= 707
-{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable #-}
-#endif
-#if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
+{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, Safe #-}
+#elif __GLASGOW_HASKELL__ >= 702
 {-# LANGUAGE Trustworthy #-}
 #endif
 -----------------------------------------------------------------------------
diff --git a/src/Data/Functor/Coproduct.hs b/src/Data/Functor/Coproduct.hs
--- a/src/Data/Functor/Coproduct.hs
+++ b/src/Data/Functor/Coproduct.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE CPP #-}
 #if defined(__GLASGOW_HASKELL__) && __GLASGOW_HASKELL__ >= 702
-{-# LANGUAGE Trustworthy #-}
+{-# LANGUAGE Safe #-}
 #endif
 -----------------------------------------------------------------------------
 -- |
