Hello Cafe,
I'm trying to wrap my head around 'lens' library. My current exercise is to modify something using Lens in monad. Say,
("Hello", "World") & _1 `myOp` (\a -> putStrLn a >> return a)
in IO, where myOp would be of type:
myOp :: Monad m => Lens s t a b -> (a -> m b) -> s -> m t