<div dir="ltr">Hello,<br><br>I'm trying to insert a new elemnt into a list after a given index and increment the orderId accordingly with the lens library.<br><br>I'm a bit confused at why this code isn't working:<br><br>```<br>import Control.Lens<br><br>data A = A { _customOrderId :: Int } deriving Show<br><br>things = [ A {_customOrderId = 0}<br>         , A {_customOrderId = 1}<br>         , A {_customOrderId = 2}<br>         , A {_customOrderId = 3}<br>         ]<br><br>main = print $ things & ( (_drop 2 %~ ((A 22)<|)) . ((traversed . indices (> 2) . customerOrderIdLens) %~ (+ 1))  )<br>```<br>The first portion works to insert where desired, but the second portion `((traversed . indices (> 2) . customerOrderIdLens) %~ (+ 1))` only increments the order id in indices 4.<br><br>Any idea why this is happening?<br><br>Thanks,<br><br>Cody Goodman<br><br></div>