diff --git a/shake-ats.cabal b/shake-ats.cabal
--- a/shake-ats.cabal
+++ b/shake-ats.cabal
@@ -1,5 +1,5 @@
 name:                shake-ats
-version:             1.5.0.5
+version:             1.5.0.6
 synopsis:            Utilities for building ATS projects with shake
 description:         Various helper functions for building [ATS](http://www.ats-lang.org/) with the [shake](http://shakebuild.com/) library
 homepage:            https://github.com/vmchale/shake-ats#readme
@@ -28,10 +28,10 @@
                      , Development.Shake.ATS.Generate
   build-depends:       base >= 4.7 && < 5
                      , language-ats >= 0.3.0.3
-                     , shake-ext >= 2.1.0.0
+                     , shake-ext >= 2.6.0.0
                      , hs2ats >= 0.2.0.1
                      , directory
-                     , lens
+                     , microlens
                      , text
                      , dependency
                      , shake
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
@@ -32,7 +32,6 @@
                              ) where
 
 import           Control.Arrow
-import           Control.Lens
 import           Control.Monad
 import           Control.Monad.IO.Class
 import           Data.Bool                         (bool)
@@ -49,6 +48,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))
@@ -118,9 +118,9 @@
 patsopt = patsTool "patsopt"
 
 patsTool :: MonadIO m => String -> ATSToolConfig -> m String
-patsTool tool tc = do
-    h <- patsHome (compilerVer tc)
-    pure $ h ++ "lib/ats2-postiats-" ++ show (libVersion tc) ++ "/bin/" ++ tool
+patsTool tool tc = (<> prep) <$> ph
+    where ph = patsHome (compilerVer tc)
+          prep = "lib/ats2-postiats-" ++ show (libVersion tc) ++ "/bin/" ++ tool
 
 cconfig :: MonadIO m => ATSToolConfig -> [String] -> Bool -> [String] -> m CConfig
 cconfig tc libs gc extras = do
@@ -151,7 +151,7 @@
     _  -> ghcVersion
 
 doLib :: ArtifactType -> Rules () -> Rules ()
-doLib Executable = pure (pure ())
+doLib Executable = pure mempty
 doLib _          = id
 
 atsBin :: BinaryTarget -> Rules ()
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') . parse
