module Control.Monad.Extras (seqM) where

seqM :: Monad m => m a -> m a
seqM :: forall (m :: * -> *) a. Monad m => m a -> m a
seqM m a
m = do
  a
a <- m a
m
  forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$! a
a