import Control.Monad.Reader
push :: String -> Reader [String] a -> Reader [String] a
push s action = local (s :) action
How can I write a push that works inside a monad transformer?
push' :: MonadTrans t => String -> t (Reader [String]) a -> t (Reader [String]) a
push' s action = ???