diff --git a/shake-ats.cabal b/shake-ats.cabal
--- a/shake-ats.cabal
+++ b/shake-ats.cabal
@@ -1,6 +1,6 @@
 cabal-version: 1.18
 name: shake-ats
-version: 1.8.0.0
+version: 1.8.0.1
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
@@ -42,8 +42,7 @@
         shake-ext >=2.9.0.0,
         hs2ats >=0.2.0.1,
         directory -any,
-        microlens -any,
-        microlens-th -any,
+        lens -any,
         text -any,
         dependency -any,
         shake -any,
@@ -54,4 +53,3 @@
     
     if impl(ghc >=8.0)
         ghc-options: -Wincomplete-uni-patterns -Wincomplete-record-updates
-                     -Wcompat
diff --git a/src/Development/Shake/ATS.hs b/src/Development/Shake/ATS.hs
--- a/src/Development/Shake/ATS.hs
+++ b/src/Development/Shake/ATS.hs
@@ -54,6 +54,7 @@
                              ) where
 
 import           Control.Arrow
+import           Control.Lens
 import           Control.Monad
 import           Control.Monad.IO.Class
 import           Data.Bool                         (bool)
@@ -69,7 +70,6 @@
 import           Development.Shake.FilePath
 import           Development.Shake.Version
 import           Language.ATS
-import           Lens.Micro
 import           System.Directory                  (copyFile, createDirectoryIfMissing, doesFileExist)
 import           System.Environment                (getEnv)
 import           System.Exit                       (ExitCode (ExitSuccess))
@@ -83,7 +83,7 @@
     path <- liftIO $ getEnv "PATH"
     let env = patsEnv tc path
         patsc = patsopt tc
-        f = case (_solver tc) of
+        f = case _solver tc of
                 Ignore -> ("--constraint-ignore":)
                 _      -> id
 
diff --git a/src/Development/Shake/ATS/Generate.hs b/src/Development/Shake/ATS/Generate.hs
--- a/src/Development/Shake/ATS/Generate.hs
+++ b/src/Development/Shake/ATS/Generate.hs
@@ -1,8 +1,8 @@
 module Development.Shake.ATS.Generate ( generateLinks
                                       ) where
 
+import           Control.Lens
 import           Language.ATS
-import           Lens.Micro
 
 generateLinks :: String -> Either ATSError String
 generateLinks = fmap (printATS . generateLinks') . parseM
diff --git a/src/Development/Shake/ATS/Type.hs b/src/Development/Shake/ATS/Type.hs
--- a/src/Development/Shake/ATS/Type.hs
+++ b/src/Development/Shake/ATS/Type.hs
@@ -36,13 +36,13 @@
                                   , solver
                                   ) where
 
+import           Control.Lens
 import           Data.Binary         (Binary (..))
 import           Data.Dependency     (Version (..))
 import           Data.Hashable       (Hashable)
 import qualified Data.Text.Lazy      as TL
 import           Development.Shake.C
 import           GHC.Generics        (Generic)
-import           Lens.Micro.TH
 
 -- We should have four build types:
 --
@@ -127,6 +127,4 @@
                                  , objectFile  :: TL.Text -- ^ Object file to be generated
                                  } deriving (Eq, Show, Generic, Binary, Hashable)
 
-makeLenses ''ATSGen
-makeLenses ''ATSTarget
-makeLenses ''ATSToolConfig
+mconcat <$> traverse makeLenses [''ATSGen, ''ATSTarget, ''ATSToolConfig]
