diff --git a/lib/Rainbow.hs b/lib/Rainbow.hs
--- a/lib/Rainbow.hs
+++ b/lib/Rainbow.hs
@@ -154,7 +154,7 @@
 
   -- * Re-exports
   -- $reexports
-  , module Control.Lens.Operators
+  , module Data.Function
   , module Data.Word
   , module Data.ByteString
   , module Data.Monoid
@@ -168,11 +168,12 @@
 import qualified Rainbow.Types as Y
 import Data.Word (Word8)
 import Data.ByteString (ByteString)
-import Control.Lens.Operators ((&))
-import Control.Lens
+import Data.Function ((&))
+import qualified Lens.Micro as Lens
+import Lens.Micro ((.~))
 import Data.Monoid (Monoid(mempty), (<>))
 
-formatBoth :: Setter' Y.Format Bool -> Y.Chunk a -> Y.Chunk a
+formatBoth :: Lens.ASetter' Y.Format Bool -> Y.Chunk a -> Y.Chunk a
 formatBoth get c = c & Y.scheme . Y.style8 . Y.format . get .~ True
   & Y.scheme . Y.style256 . Y.format . get .~ True
 
@@ -228,7 +229,9 @@
 --    'fore' ('blue' <> 'only256' 'red')
 -- @
 only256 :: Y.Radiant -> Y.Radiant
-only256 r = r & Y.color8 . _Wrapped .~ Nothing
+only256 r = r & Y.color8 . wrapped .~ Nothing
+  where
+    wrapped = Lens.sets (\f (Y.Color m) -> Y.Color (f m))
 
 black :: Y.Radiant
 black = Y.Radiant (Y.Color (Just Y.E0)) (Y.Color (Just 0))
@@ -284,7 +287,7 @@
 
 {- $reexports
 
-   * "Control.Lens.Operators" re-exports '&'
+   * "Data.Function" re-exports '&'
 
    * "Data.Monoid" re-exports 'Monoid', '<>' and 'mempty'
 
diff --git a/lib/Rainbow/Translate.hs b/lib/Rainbow/Translate.hs
--- a/lib/Rainbow/Translate.hs
+++ b/lib/Rainbow/Translate.hs
@@ -12,14 +12,14 @@
 import qualified Data.Text.Encoding as X
 import qualified Data.Text.Lazy as XL
 import Data.ByteString (ByteString)
-import Data.Word
+import Data.Word (Word8)
 import Data.List (intersperse)
 import qualified Rainbow.Types as T
-import System.Process
-import Text.Read
-import System.Exit
-import Control.Monad
-import Control.Exception
+import System.Process (readProcessWithExitCode)
+import Text.Read (readMaybe)
+import System.Exit (ExitCode(ExitFailure))
+import Control.Monad (mzero)
+import Control.Exception (try, IOException)
 import qualified System.IO as IO
 
 
diff --git a/lib/Rainbow/Types.hs b/lib/Rainbow/Types.hs
--- a/lib/Rainbow/Types.hs
+++ b/lib/Rainbow/Types.hs
@@ -1,7 +1,5 @@
 {-# LANGUAGE DeriveGeneric, DeriveDataTypeable, DeriveFunctor,
-             DeriveTraversable, DeriveFoldable, TemplateHaskell,
-             FlexibleInstances, TypeFamilies,
-             MultiParamTypeClasses #-}
+             DeriveTraversable, DeriveFoldable, TemplateHaskell #-}
 
 -- | All the main types in Rainbow.  Using this module you can specify
 -- that you want different formatting for 8- and 256-color terminals.
@@ -12,14 +10,12 @@
 
 -- # Imports
 
-import Control.Lens
-import Data.Foldable ()
-import Data.Foldable (Foldable)
-import Data.Monoid
+import Lens.Micro.TH (makeLenses)
+import Data.Monoid ((<>))
 import Data.Traversable ()
-import Data.Typeable
+import Data.Typeable (Typeable)
 import Data.Word (Word8)
-import GHC.Generics
+import GHC.Generics (Generic)
 
 --
 -- Colors
@@ -33,7 +29,6 @@
   deriving (Eq, Show, Ord, Generic, Typeable, Functor, Foldable,
             Traversable)
 
-makeWrapped ''Color
 
 -- | Takes the last non-Nothing Color.  'mempty' is no color.
 instance Monoid (Color a) where
diff --git a/rainbow.cabal b/rainbow.cabal
--- a/rainbow.cabal
+++ b/rainbow.cabal
@@ -3,11 +3,11 @@
 -- http://www.github.com/massysett/cartel
 --
 -- Script name used to generate: genCabal.hs
--- Generated on: 2015-07-14 18:53:54.875209 EDT
--- Cartel library version: 0.14.2.6
+-- Generated on: 2016-04-11 16:49:50.413706 EDT
+-- Cartel library version: 0.14.2.8
 
 name: rainbow
-version: 0.26.0.6
+version: 0.28.0.0
 cabal-version: >= 1.18
 license: BSD3
 license-file: LICENSE
@@ -43,7 +43,8 @@
     , text >= 0.11.2.0
     , bytestring >= 0.10
     , process >= 1.2
-    , lens >= 4.7
+    , microlens >= 0.4.2.1
+    , microlens-th >= 0.3.0.2
   hs-source-dirs:
     lib
 
@@ -73,7 +74,8 @@
     , text >= 0.11.2.0
     , bytestring >= 0.10
     , process >= 1.2
-    , lens >= 4.7
+    , microlens >= 0.4.2.1
+    , microlens-th >= 0.3.0.2
   hs-source-dirs:
     lib
 
@@ -96,7 +98,8 @@
     , text >= 0.11.2.0
     , bytestring >= 0.10
     , process >= 1.2
-    , lens >= 4.7
+    , microlens >= 0.4.2.1
+    , microlens-th >= 0.3.0.2
   hs-source-dirs:
     lib
 
@@ -119,7 +122,8 @@
     , text >= 0.11.2.0
     , bytestring >= 0.10
     , process >= 1.2
-    , lens >= 4.7
+    , microlens >= 0.4.2.1
+    , microlens-th >= 0.3.0.2
   hs-source-dirs:
     lib
 
@@ -142,7 +146,8 @@
     , text >= 0.11.2.0
     , bytestring >= 0.10
     , process >= 1.2
-    , lens >= 4.7
+    , microlens >= 0.4.2.1
+    , microlens-th >= 0.3.0.2
   hs-source-dirs:
     lib
 
