On 2015-12-10 at 07:43, Simon Peter Nicholls <simon@mintsource.org> wrote:So I figure I need: neededLift :: (Monad m) => ((b -> b) -> a -> a) -> (m b -> m b) -> m a -> m aI don't believe `neededLift` is possible. The type says that given any function `m b -> m b`, you can turn that function into one of type `b -> b` (as input to the lens).