diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# 0.4.7.0
+
+* New minor release (microlens-0.4.7).
+
 # 0.4.6.0
 
 * New minor release (microlens-0.4.6).
diff --git a/microlens-ghc.cabal b/microlens-ghc.cabal
--- a/microlens-ghc.cabal
+++ b/microlens-ghc.cabal
@@ -1,5 +1,5 @@
 name:                microlens-ghc
-version:             0.4.6.0
+version:             0.4.7.0
 synopsis:            microlens + array, bytestring, containers, transformers
 description:
   Use this package instead of <http://hackage.haskell.org/package/microlens microlens> if you don't mind depending on all dependencies here – @Lens.Micro.GHC@ reexports everything from @Lens.Micro@ and additionally provides orphan instances of microlens classes for packages coming with GHC (<http://hackage.haskell.org/package/array array>, <http://hackage.haskell.org/package/bytestring bytestring>, <http://hackage.haskell.org/package/containers containers>, <http://hackage.haskell.org/package/transfromers transformers>).
@@ -32,7 +32,7 @@
                      , base >=4.5 && <5
                      , bytestring >=0.9.1.10 && <0.11
                      , containers >=0.4.0 && <0.6
-                     , microlens ==0.4.6.*
+                     , microlens ==0.4.7.*
                      , transformers >=0.2 && <0.6
 
   ghc-options:
diff --git a/src/Lens/Micro/GHC.hs b/src/Lens/Micro/GHC.hs
--- a/src/Lens/Micro/GHC.hs
+++ b/src/Lens/Micro/GHC.hs
@@ -181,7 +181,9 @@
   each = traversed
   {-# INLINE each #-}
 
-instance Each (Tree a) (Tree b) a b
+instance Each (Tree a) (Tree b) a b where
+  each = traversed
+  {-# INLINE each #-}
 
 instance (Ix i, i ~ j) => Each (Array i a) (Array j b) a b where
   each f arr = array (bounds arr) <$> traverse (\(i,a) -> (,) i <$> f a) (Array.assocs arr)
