diff --git a/src/Data/Yaml/YamlLight/Lens.hs b/src/Data/Yaml/YamlLight/Lens.hs
--- a/src/Data/Yaml/YamlLight/Lens.hs
+++ b/src/Data/Yaml/YamlLight/Lens.hs
@@ -28,7 +28,7 @@
 type instance Index YamlLight = YamlIx
 type instance IxValue YamlLight = YamlLight
 
-instance Applicative f => Ixed f YamlLight where
+instance Ixed YamlLight where
   ix k@(ArrIx i) f (YSeq xs) | i < 0 = pure (YSeq xs)
                              | otherwise = YSeq <$> go xs i where
     go [] _ = pure []
@@ -46,7 +46,7 @@
           mv = Map.lookup k' m
   at k f y = const y <$> indexed f k Nothing
 
-instance Applicative f => Each f YamlLight YamlLight YamlLight YamlLight where
+instance Each YamlLight YamlLight YamlLight YamlLight where
   each f (YSeq xs) = YSeq <$> traverse (uncurry $ indexed f)
                                        (zip (map ArrIx [0..]) xs)
   each f (YMap m) = YMap <$> sequenceA (Map.mapWithKey (indexed f . ObjIx) m)
@@ -55,7 +55,7 @@
 instance Plated YamlLight where
   plate f (YSeq xs) = YSeq <$> traverse f xs
   plate f (YMap m) = YMap <$> traverse f m
-  plate f y = pure y
+  plate _f y = pure y
 
 noRemainder :: (a, ByteString) -> Maybe a
 noRemainder (x, bs) = if BC.null bs then Just x else Nothing
diff --git a/yaml-light-lens.cabal b/yaml-light-lens.cabal
--- a/yaml-light-lens.cabal
+++ b/yaml-light-lens.cabal
@@ -1,5 +1,5 @@
 name:                yaml-light-lens
-version:             0.2.0.1
+version:             0.3
 synopsis:            Lens interface to yaml-light.
 -- description:         
 license:             BSD3
@@ -22,7 +22,7 @@
                        bytestring,
                        bytestring-lexing >= 0.4.3,
                        containers,
-                       lens >= 3.8 && < 3.11,
+                       lens >= 4.0 && < 4.1,
                        yaml-light >= 0.1 && < 0.2
   hs-source-dirs:      src
   ghc-options:         -Wall -fno-warn-orphans
