diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+# 0.2.2.0
+
+* Moved `Getter` and `Fold` from this package to microlens (they're in `Lens.Micro.Extras`).
+
+# 0.2.1.3
+
+* Bumped template-haskell (so that the package would compile with GHC HEAD).
+
 # 0.2.1.2
 
 * Bumped microlens version to be able to use phantom.
diff --git a/microlens-th.cabal b/microlens-th.cabal
--- a/microlens-th.cabal
+++ b/microlens-th.cabal
@@ -1,5 +1,5 @@
 name:                microlens-th
-version:             0.2.1.3
+version:             0.2.2.0
 synopsis:            Automatic generation of record lenses for microlens
 description:
   This package lets you automatically generate lenses for data types; code was extracted from the lens package, and therefore generated lenses are fully compatible with ones generated by lens (and can be used both from lens and microlens).
@@ -31,7 +31,7 @@
   -- other-modules:
   -- other-extensions:
   build-depends:       base >=4.5 && <5
-                     , microlens >=0.3.2 && <0.4
+                     , microlens >=0.3.5 && <0.4
                      , containers >=0.4.0 && <0.6
                      -- lens has >=2.4, but GHC 7.4 shipped with 2.7
                      , template-haskell >=2.7 && <2.12
diff --git a/src/Lens/Micro/TH.hs b/src/Lens/Micro/TH.hs
--- a/src/Lens/Micro/TH.hs
+++ b/src/Lens/Micro/TH.hs
@@ -21,8 +21,8 @@
 
   -- * Using this module in GHCi
   -- $ghci-note
-  
-  -- * Types for compatibility
+
+  -- * Exports of @Getter@ and @Fold@
   -- $compat-note
   Getter,
   Fold,
@@ -64,6 +64,7 @@
 import           Data.List (nub, findIndices, stripPrefix, isPrefixOf)
 import           Data.Maybe
 import           Lens.Micro
+import           Lens.Micro.Extras (Getter, Fold)
 import           Lens.Micro.Internal (phantom)
 import           Language.Haskell.TH
 
@@ -134,11 +135,8 @@
 
 {- $compat-note
 
-When updates aren't allowed, or when a field simply can't be updated (for instance, in the presence of @forall@), instead of 'Lens' and 'Traversal' we generate 'Getter' and 'Fold'. These aren't true @Getter@ and @Fold@ from lens – they're not sufficiently polymorphic. Beware. (Still, they're compatible, it's just that you can't do some things with them that you can do with original ones.)
+When updates aren't allowed, or when a field simply can't be updated (for instance, in the presence of @forall@), instead of 'Lens' and 'Traversal' we generate 'Getter' and 'Fold', which come from "Lens.Micro.Extras" and are reexported here. These aren't true @Getter@ and @Fold@ from lens – they're not sufficiently polymorphic. Beware. (Still, they're compatible, it's just that you can't do some things with them that you can do with original ones.)
 -}
-
-type Getter s a = forall r. Getting r s a
-type Fold s a = forall r. Applicative (Const r) => Getting r s a
 
 -- Lens functions which would've been in Lens.Micro if it wasn't “micro”
 
