diff --git a/Data/Lens.hs b/Data/Lens.hs
--- a/Data/Lens.hs
+++ b/Data/Lens.hs
@@ -1,7 +1,7 @@
 module Data.Lens (Lens,
                   lens, iso,
                   get, set, modify,
-                  fstL, sndL, swapL) where
+                  fstL, sndL, swapL, unitL) where
 
 import Prelude hiding (id)
 
@@ -9,6 +9,8 @@
 import Control.Arrow
 import Control.Category
 import Control.Category.Unicode
+import Data.Bits (Bits (..))
+import Data.Bool (bool)
 import Data.Functor.Identity
 import Data.Tuple (swap)
 
@@ -41,3 +43,9 @@
 
 swapL :: Lens (a, b) (c, d) (b, a) (d, c)
 swapL = iso swap swap
+
+unitL :: Lens α α () ()
+unitL = lens (pure ()) (\ () -> id)
+
+bitL :: Bits a => Int -> Lens a a Bool Bool
+bitL = liftA2 lens (flip testBit) (flip (flip ∘ bool clearBit setBit))
diff --git a/lenz.cabal b/lenz.cabal
--- a/lenz.cabal
+++ b/lenz.cabal
@@ -1,5 +1,5 @@
 name:           lenz
-version:        0.1
+version:        0.1.2
 synopsis:       Van Laarhoven lenses
 license:        OtherLicense
 license-file:   LICENSE
@@ -7,9 +7,12 @@
 maintainer:     strake888@gmail.com
 category:       Data, Lenses
 build-type:     Simple
-cabal-version:  >=1.4
+cabal-version:  >=1.6
+tested-with:    GHC ==7.10.*,
+                GHC ==7.12.*,
+                GHC ==8.0.*
 
 library
   exposed-modules:      Data.Lens
-  build-depends:        base >= 4.8 && <4.9, base-unicode-symbols >= 0.1 && <0.3, transformers >=0.2 && <0.6
+  build-depends:        base >= 4.8 && <5, base-unicode-symbols >= 0.1 && <0.3, transformers >=0.2 && <0.6
   extensions:           UnicodeSyntax, RankNTypes, ConstraintKinds, GADTs
