diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,8 @@
 
+5.25.1
+ - Avoided a conflict with a Microlens 0.4.10 operator and added an
+   upper bound on Microlens of 0.4.11.
+
 5.25
  - The Vty type got a new field, isShutdown, that returns whether the
    Vty handle has had its 'shutdown' function called (thanks Ian
diff --git a/src/Graphics/Vty/PictureToSpans.hs b/src/Graphics/Vty/PictureToSpans.hs
--- a/src/Graphics/Vty/PictureToSpans.hs
+++ b/src/Graphics/Vty/PictureToSpans.hs
@@ -298,11 +298,11 @@
     state <- get
     when (state^.remaining <= 0) $ fail $ name ++ " with remaining <= 0"
     case state^.skip of
-        s | s > size -> put $ state & skip -~ size
+        s | s > size -> put $ state & skip %~ subtract size
           | s == 0    -> if state^.remaining > i0Dim
                             then do
                                 addMaybeClipped i0
-                                put $ state & offset +~ i0Dim & remaining -~ i0Dim
+                                put $ state & offset %~ (+ i0Dim) & remaining %~ subtract i0Dim
                                 addMaybeClipped i1
                             else addMaybeClipped i0
           | s < i0Dim  ->
@@ -311,10 +311,10 @@
                     then addMaybeClipped i0
                     else do
                         addMaybeClipped i0
-                        put $ state & offset +~ i0Dim' & remaining -~ i0Dim' & skip .~ 0
+                        put $ state & offset %~ (+ i0Dim') & remaining %~ subtract i0Dim' & skip .~ 0
                         addMaybeClipped i1
           | s >= i0Dim -> do
-                put $ state & skip -~ i0Dim
+                put $ state & skip %~ subtract i0Dim
                 addMaybeClipped i1
         _ -> fail $ name ++ " has unhandled skip class"
 
@@ -346,9 +346,3 @@
         when (spanOpsEffectedColumns ops' > regionWidth theRegion)
              $ fail $ "row " ++ show row ++ " now exceeds region width"
         MVector.write theMrowOps row ops'
-
-(-~) :: Num a => ASetter s t a a -> a -> s -> t
-l -~ n = over l (subtract n)
-
-(+~) :: Num a => ASetter s t a a -> a -> s -> t
-l +~ n = over l (n +)
diff --git a/vty.cabal b/vty.cabal
--- a/vty.cabal
+++ b/vty.cabal
@@ -1,5 +1,5 @@
 name:                vty
-version:             5.25
+version:             5.25.1
 license:             BSD3
 license-file:        LICENSE
 author:              AUTHORS
@@ -45,7 +45,7 @@
                        deepseq >= 1.1 && < 1.5,
                        directory,
                        filepath >= 1.0 && < 2.0,
-                       microlens,
+                       microlens < 0.4.11,
                        microlens-mtl,
                        microlens-th,
                        -- required for nice installation with yi
