withHashState' :: (Monad m) => (HashState -> m HashState) -> HashT m ()
withHashState' act = do
  s0 <- get
  s1 <- lift $ act s0
  put s1
withHashState' :: (Monad m) => (HashState -> m HashState) -> HashT m ()
withHashState' act = do
  s0 <- get
  s1 <- lift $ act s0
  put s1
withHashState' act = do
  s0 <- get
  s1 <- lift $ act s0
  put s1