logExceptT :: (MonadIO m, Pretty e) => ExceptT e m a -> (a -> m ()) -> m ()
logExceptT e f =
  runExceptT e
  >>= either (liftIO . hPutStr stderr . render . pPrint) f
logExceptT :: (MonadIO m, Pretty e) => ExceptT e m a -> (a -> m ()) -> m ()
logExceptT e f =
  runExceptT e
  >>= either (liftIO . hPutStr stderr . render . pPrint) f
logExceptT e f =
  runExceptT e
  >>= either (liftIO . hPutStr stderr . render . pPrint) f