module Control.Monad.Extras (seqM) where

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