Hi, 2007/7/1, Bulat Ziganshin <bulat.ziganshin at gmail.com>: > aa <- unsafeRead a5 0 > return $! aa > bb <- unsafeRead a5 1 > return $! bb If this is a useful pattern, would it make sense to have a function to encapsulate it? mseq :: Monad m => m a -> m a mseq m = m >>= (return $!) - Benja