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.5.0.9
+version: 1.5.0.10
 license: BSD3
 license-file: LICENSE
 copyright: Copyright: (c) 2018 Vanessa McHale
@@ -37,12 +37,13 @@
     ghc-options: -Wall
     build-depends:
         base >=4.7 && <5,
-        hashable,
-        language-ats,
+        hashable -any,
+        language-ats -any,
         shake-ext >=2.7.0.0,
         hs2ats >=0.2.0.1,
         directory -any,
-        lens -any,
+        microlens -any,
+        microlens-th -any,
         text -any,
         dependency -any,
         shake -any,
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
@@ -31,6 +31,8 @@
                              , cFlags
                              , binTarget
                              , cc
+                             , gc
+                             , hasPretty
                              , compilerVer
                              , genTargets
                              , hsLibs
@@ -45,7 +47,6 @@
                              ) where
 
 import           Control.Arrow
-import           Control.Lens
 import           Control.Monad
 import           Control.Monad.IO.Class
 import           Data.Bool                         (bool)
@@ -62,6 +63,7 @@
 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))
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,9 +1,9 @@
 module Development.Shake.ATS.Generate ( generateLinks
                                       ) where
 
-import           Control.Lens
 import           Data.Semigroup
 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
@@ -30,13 +30,13 @@
                                   , linkTargets
                                   ) 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:
 --
