diff --git a/.travis.yml b/.travis.yml
--- a/.travis.yml
+++ b/.travis.yml
@@ -16,7 +16,8 @@
   - $script
   - hlint src --cpp-define HLINT
   - packdeps comonad.cabal
-  - packunused
+  - packunused --ignore-package=transformers-compat
+
 
 notifications:
   irc:
diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+4.2.3
+-----
+* Add `Comonad` and `ComonadEnv` instances for `Arg e` from `semigroups 0.16.3` which can be used to extract the argmin or argmax.
+
 4.2.2
 -----
 * `contravariant` 1.0 support
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.2
+version:       4.2.3
 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
@@ -9,7 +9,7 @@
  -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Comonad
--- Copyright   :  (C) 2008-2014 Edward Kmett,
+-- Copyright   :  (C) 2008-2015 Edward Kmett,
 --                (C) 2004 Dave Menendez
 -- License     :  BSD-style (see the file LICENSE)
 --
@@ -148,6 +148,16 @@
   {-# INLINE duplicate #-}
   extract = snd
   {-# INLINE extract #-}
+
+#if MIN_VERSION_semigroups(0,16,2)
+instance Comonad (Arg e) where
+  duplicate w@(Arg a _) = Arg a w
+  {-# INLINE duplicate #-}
+  extend f w@(Arg a _) = Arg a (f w)
+  {-# INLINE extend #-}
+  extract (Arg _ b) = b
+  {-# INLINE extract #-}
+#endif
 
 instance Monoid m => Comonad ((->)m) where
   duplicate f m = f . mappend m
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
@@ -9,7 +9,7 @@
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Comonad.Env.Class
--- Copyright   :  (C) 2008-2012 Edward Kmett
+-- Copyright   :  (C) 2008-2015 Edward Kmett
 -- License     :  BSD-style (see the file LICENSE)
 --
 -- Maintainer  :  Edward Kmett <ekmett@gmail.com>
@@ -41,6 +41,11 @@
 
 instance ComonadEnv e ((,)e) where
   ask = fst
+
+#if MIN_VERSION_semigroups(0,16,2)
+instance ComonadEnv e (Arg e) where
+  ask (Arg e _) = e
+#endif
 
 lowerAsk :: (ComonadEnv e w, ComonadTrans t) => t w a -> e
 lowerAsk = ask . lower
