diff --git a/ADNS.hs b/ADNS.hs
--- a/ADNS.hs
+++ b/ADNS.hs
@@ -30,7 +30,7 @@
 queryA :: Resolver -> HostName -> IO (Maybe [HostAddress])
 queryA = query resolveA
 
--- | For quering SRV records. Result is the list of tuples (host, port)
+-- | For quering SRV records. Result is the list of tuples (host, port).
 querySRV :: Resolver -> HostName -> IO (Maybe [(HostName, PortID)])
 querySRV = query resolveSRV
 
@@ -39,9 +39,3 @@
 
 queryMX :: Resolver -> HostName -> IO (Maybe [(HostName, HostAddress)])
 queryMX = query resolveMX
-
--- ----- Configure Emacs -----
---
--- Local Variables: ***
--- haskell-program-name: "ghci -ladns" ***
--- End: ***
diff --git a/ADNS/Resolver.hs b/ADNS/Resolver.hs
--- a/ADNS/Resolver.hs
+++ b/ADNS/Resolver.hs
@@ -28,7 +28,7 @@
 import Data.List          ( sortBy )
 import Data.Map           ( Map )
 import qualified Data.Map as Map
-import Network           
+import Network
 import Network.Socket     ( HostAddress )
 import ADNS.Base
 import ADNS.Endian
@@ -120,7 +120,7 @@
 -- > queryA = query resolveA
 
 query :: (Resolver -> a -> IO (Either Status [b]))
-      -> (Resolver -> a -> IO (Maybe [b]))
+      -> Resolver -> a -> IO (Maybe [b])
 query f dns x = fmap toMaybe (f dns x)
   where
   toMaybe (Left rc)
@@ -184,9 +184,3 @@
                        putMVar mv a
                        return (RState dns (Map.delete q qs), True)
   when more (resolveLoop mst)
-
--- ----- Configure Emacs -----
---
--- Local Variables: ***
--- haskell-program-name: "ghci -ladns" ***
--- End: ***
diff --git a/example/adns-reverse-lookup.hs b/example/adns-reverse-lookup.hs
--- a/example/adns-reverse-lookup.hs
+++ b/example/adns-reverse-lookup.hs
@@ -14,7 +14,6 @@
 import Control.Concurrent.Chan  ( Chan, newChan, writeChan, readChan )
 import System.Environment       ( getArgs )
 import Network.Socket           ( inet_ntoa )
-import Data.List                ( elem )
 import ADNS
 
 data CheckResult
@@ -35,7 +34,7 @@
   when (null names) (putStrLn "Usage: hostname [hostname ...]")
   initResolver [NoErrPrint, NoServerWarn] $ \resolver -> do
     rrChannel <- newChan :: IO (Chan CheckResult)
-    mapM_ (\h -> forkIO (ptrCheck resolver rrChannel h)) names
+    mapM_ (forkIO . ptrCheck resolver rrChannel) names
     replicateM_ (length names) (readChan rrChannel >>= printResult)
 
 ptrCheck :: Resolver -> Chan CheckResult -> HostName -> IO ()
@@ -50,11 +49,3 @@
                    | otherwise         -> writeChan chan (NotOK host addr names)
         _                              -> returnError "PTR"
     _           -> returnError "A"
-
-
-
--- ----- Configure Emacs -----
---
--- Local Variables: ***
--- haskell-program-name: "ghci -ladns" ***
--- End: ***
diff --git a/example/adns-srv-test.hs b/example/adns-srv-test.hs
--- a/example/adns-srv-test.hs
+++ b/example/adns-srv-test.hs
@@ -1,28 +1,27 @@
 {-
-    Resolve a hostnames' SRV records, then show it
+    Resolve a hostnames' SRV records, then show it.
+
+    TODO: Add the ability to perform multiple requests.
 -}
 
 module Main ( main ) where
 
 import Control.Monad            ( when )
 import System.Environment       ( getArgs )
-import Network.Socket           ( inet_ntoa )
-import Data.List                ( elem )
+import Network                  ( PortID(..) )
 import ADNS
 
 main :: IO ()
 main = do
   names <- getArgs
-  when (null names) (putStrLn "Usage: hostname [hostname ...]")
+  when (length names /= 1) (fail "Usage: hostname")
   initResolver [Debug] $ \resolver -> do
-    a <- querySRV resolver $ head names
+    a <- querySRV resolver (head names)
     case a of
-	Just addr -> do
-	    putStrLn $ "RESULT:\n" ++ (concat $ map (\b -> (fst b) ++ (show $ snd b) ++ "\n") addr)
-	_ -> putStrLn $ "Error in SRV " ++ (show a)
+	Just addr -> putStrLn $ "RESULT:\n" ++ concatMap (\b -> fst b ++ ":" ++ showPortID (snd b)) addr
+	_         -> fail $ "Error in SRV " ++ show (head names)
 
--- ----- Configure Emacs -----
---
--- Local Variables: ***
--- haskell-program-name: "ghci -ladns" ***
--- End: ***
+showPortID :: PortID -> String
+showPortID (PortNumber p) = show p
+showPortID (UnixSocket str) = str
+showPortID (Service str) = str
diff --git a/example/adns-test-and-traverse.hs b/example/adns-test-and-traverse.hs
--- a/example/adns-test-and-traverse.hs
+++ b/example/adns-test-and-traverse.hs
@@ -1,4 +1,4 @@
-module Main where
+module Main ( main ) where
 
 import ADNS
 import ADNS.Base
diff --git a/hsdns.cabal b/hsdns.cabal
--- a/hsdns.cabal
+++ b/hsdns.cabal
@@ -1,5 +1,5 @@
 Name:                   hsdns
-Version:                1.4.3
+Version:                1.5
 Copyright:              (c) 2004-2010 Peter Simons
 License:                LGPL
 License-File:           COPYING.LESSER
@@ -31,7 +31,7 @@
                         > OK: www.example.com <-> 192.0.32.10
 Cabal-Version:          >= 1.6
 Build-Type:             Simple
-Tested-With:            GHC == 6.12.1
+Tested-With:            GHC == 6.12.3
 
 Extra-Source-Files:     example/adns-reverse-lookup.hs
                         example/adns-srv-test.hs
