The usual way to write a MonadBaseControl instance for
a transformer stack over a base monad B is to write an
instance MonadBaseControl B B for the base monad, and
MonadTransControl T instances for every transformer
T. Instances for MonadBaseControl are then
simply implemented using ComposeSt,
defaultLiftBaseWith, defaultRestoreM.