diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,7 @@
+4.3.3
+-----
+* `semigroupoids` 4.2 support
+
 4.3.2
 -----
 * `contravariant` 1.0 support
diff --git a/lens.cabal b/lens.cabal
--- a/lens.cabal
+++ b/lens.cabal
@@ -1,6 +1,6 @@
 name:          lens
 category:      Data, Lenses, Generics
-version:       4.3.2
+version:       4.3.3
 license:       BSD3
 cabal-version: >= 1.8
 license-file:  LICENSE
diff --git a/src/Control/Lens/Internal/Instances.hs b/src/Control/Lens/Internal/Instances.hs
--- a/src/Control/Lens/Internal/Instances.hs
+++ b/src/Control/Lens/Internal/Instances.hs
@@ -4,6 +4,10 @@
 #ifndef MIN_VERSION_base
 #define MIN_VERSION_base(x,y,z) 1
 #endif
+
+#ifndef MIN_VERSION_semigroupoids
+#define MIN_VERSION_semigroupoids(x,y,z) 1
+#endif
 -----------------------------------------------------------------------------
 -- |
 -- Module      :  Control.Lens.Internal.Instances
@@ -14,14 +18,19 @@
 -- Portability :  non-portable
 --
 -- This module includes orphan instances for @(,)@, 'Either' and 'Const' that
--- should be supplied by base.
+-- should be supplied by base. These have moved to @semigroupoids@ as of 4.2.
 ----------------------------------------------------------------------------
 module Control.Lens.Internal.Instances () where
 
+import Data.Traversable.Instances ()
+
+#if !(MIN_VERSION_semigroupoids(0,4,2))
+
 import Control.Applicative
 import Data.Semigroup.Foldable
 import Data.Semigroup.Traversable
 
+
 #if !(MIN_VERSION_base(4,7,0))
 import Data.Monoid
 import Data.Foldable
@@ -60,3 +69,4 @@
 instance Traversable1 ((,) b) where
   traverse1 f (b, a) = (,) b <$> f a
 
+#endif
