diff --git a/Network/DNS/Resolver.hs b/Network/DNS/Resolver.hs
--- a/Network/DNS/Resolver.hs
+++ b/Network/DNS/Resolver.hs
@@ -161,6 +161,10 @@
 
 -- | Giving a thread-safe 'Resolver' to the function of the second
 --   argument. A socket for UDP is opened inside and is surely closed.
+--   Multiple 'withResolver's can be used concurrently.
+--   Multiple lookups must be done sequentially with a given
+--   'Resolver'. If multiple 'Resolver's are necessary for
+--   concurrent purpose, use 'withResolvers'.
 withResolver :: ResolvSeed -> (Resolver -> IO a) -> IO a
 withResolver seed func = bracket (openSocket seed) sClose $ \sock -> do
     connectSocket sock seed
@@ -168,6 +172,8 @@
 
 -- | Giving thread-safe 'Resolver's to the function of the second
 --   argument. Sockets for UDP are opened inside and are surely closed.
+--   For each 'Resolver', multiple lookups must be done sequentially.
+--   'Resolver's can be used concurrently.
 withResolvers :: [ResolvSeed] -> ([Resolver] -> IO a) -> IO a
 withResolvers seeds func = bracket openSockets closeSockets $ \socks -> do
     mapM_ (uncurry connectSocket) $ zip socks seeds
diff --git a/dns.cabal b/dns.cabal
--- a/dns.cabal
+++ b/dns.cabal
@@ -1,5 +1,5 @@
 Name:                   dns
-Version:                2.0.0
+Version:                2.0.1
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
