An asynchronous DNS resolver for Haskell implemented on top of GNU ADNS