Generalise type of forever :: (Monad m) => m a -> m b