Hello,
as an analogue to everywhere', I suggest adding everywhereM' to
Data.Generics.Schemes. The implementation would be
everywhereM' :: Monad m => GenericM m -> GenericM m
everywhereM' f x = do { x' <- f x;
gmapM (everywhereM' f) x' }
Best wishes,
Maciej