acquireSequential2 :: Assertion
acquireSequential2 = do
  (pool, ok) <- makePool 100
  -- let check n = putStrLn $ "got: " ++ show n
  let check n = assertEqual "resource not recycled" True (n <= 100)
  let acquire i = RP.acquire pool i >>= \(n, release) -> check n >> release
  mapM_ acquire ([1..100] ++ [1..100]) -- second 100 acquires should get cached
  eventually ok
acquireSequential2 :: Assertion
acquireSequential2 = do
  (pool, ok) <- makePool 100
  -- let check n = putStrLn $ "got: " ++ show n
  let check n = assertEqual "resource not recycled" True (n <= 100)
  let acquire i = RP.acquire pool i >>= \(n, release) -> check n >> release
  mapM_ acquire ([1..100] ++ [1..100]) -- second 100 acquires should get cached
  eventually ok
acquireSequential2 = do
  (pool, ok) <- makePool 100
  -- let check n = putStrLn $ "got: " ++ show n
  let check n = assertEqual "resource not recycled" True (n <= 100)
  let acquire i = RP.acquire pool i >>= \(n, release) -> check n >> release
  mapM_ acquire ([1..100] ++ [1..100]) -- second 100 acquires should get cached
  eventually ok