diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.5.3.4
+
+* Doc improvements
+
 ## 0.5.3.3
 
 * Add missing colon in Host header [#235](https://github.com/snoyberg/http-client/pull/235)
diff --git a/Network/HTTP/Client.hs b/Network/HTTP/Client.hs
--- a/Network/HTTP/Client.hs
+++ b/Network/HTTP/Client.hs
@@ -19,7 +19,7 @@
 -- This is the main entry point for using http-client. Used by itself, this
 -- module provides low-level access for streaming request and response bodies,
 -- and only non-secure HTTP connections. Helper packages such as http-conduit
--- provided higher level streaming approaches, while other helper packages like
+-- provide higher level streaming approaches, while other helper packages like
 -- http-client-tls provide secure connections.
 --
 -- There are three core components to be understood here: requests, responses,
@@ -67,7 +67,7 @@
 -- be assumed to throw an 'HttpException' in the event of some problem, and all
 -- pure functions will be total. For example, 'withResponse', 'httpLbs', and
 -- 'BodyReader' can all throw exceptions. Functions like 'responseStatus' and
--- 'applyBasicAuth' are guaranteed to be total (or there\'s a bug in the
+-- 'applyBasicAuth' are guaranteed to be total (or there's a bug in the
 -- library).
 --
 -- One thing to be cautioned about: the type of 'parseRequest' allows it to work in
@@ -128,6 +128,7 @@
     , rawConnectionModifySocket
     , rawConnectionModifySocketSize
       -- * Request
+      -- $parsing-request
     , parseUrl
     , parseUrlThrow
     , parseRequest
@@ -296,8 +297,6 @@
 managerSetProxy :: ProxyOverride -> ManagerSettings -> ManagerSettings
 managerSetProxy po = managerSetInsecureProxy po . managerSetSecureProxy po
 
-
-
 -- $example1
 -- = Example Usage
 --
@@ -338,7 +337,6 @@
 -- >   print $ responseBody response
 --
 
-
 -- | Specify a response timeout in microseconds
 --
 -- @since 0.5.0
@@ -360,3 +358,11 @@
 -- @since 0.5.0
 responseTimeoutDefault :: ResponseTimeout
 responseTimeoutDefault = ResponseTimeoutDefault
+
+-- $parsing-request
+--
+-- The way you parse string of characters to construct a 'Request' will
+-- determine whether exceptions will be thrown on non-2XX response status
+-- codes. This is because the behavior is controlled by a setting in
+-- 'Request' itself (see 'checkResponse') and different parsing functions
+-- set it to different 'IO' actions.
diff --git a/Network/HTTP/Client/Connection.hs b/Network/HTTP/Client/Connection.hs
--- a/Network/HTTP/Client/Connection.hs
+++ b/Network/HTTP/Client/Connection.hs
@@ -16,7 +16,7 @@
 import Data.IORef
 import Control.Monad
 import Network.HTTP.Client.Types
-import Network.Socket (Socket, sClose, HostAddress)
+import Network.Socket (Socket, HostAddress)
 import qualified Network.Socket as NS
 import Network.Socket.ByteString (sendAll, recv)
 import qualified Control.Exception as E
@@ -62,7 +62,6 @@
     | S.last bs == charCR = S.init bs
     | otherwise = bs
 
-
 -- | For testing
 dummyConnection :: [ByteString] -- ^ input
                 -> IO (Connection, IO [ByteString], IO [ByteString]) -- ^ conn, output, input
@@ -130,7 +129,7 @@
 socketConnection socket chunksize = makeConnection
     (recv socket chunksize)
     (sendAll socket)
-    (sClose socket)
+    (NS.close socket)
 
 openSocketConnection :: (Socket -> IO ())
                      -> Maybe HostAddress
@@ -168,7 +167,7 @@
         E.bracketOnError
             (NS.socket (NS.addrFamily addr) (NS.addrSocketType addr)
                        (NS.addrProtocol addr))
-            (NS.sClose)
+            NS.close
             (\sock -> do
                 NS.setSocketOption sock NS.NoDelay 1
                 tweakSocket sock
diff --git a/Network/HTTP/Client/Request.hs b/Network/HTTP/Client/Request.hs
--- a/Network/HTTP/Client/Request.hs
+++ b/Network/HTTP/Client/Request.hs
@@ -108,6 +108,9 @@
 --
 -- Note that the request method must be provided as all capital letters.
 --
+-- 'Request' created by this function won't cause exceptions on non-2XX
+-- response status codes.
+--
 -- @since 0.4.30
 parseRequest :: MonadThrow m => String -> m Request
 parseRequest s' =
@@ -399,7 +402,6 @@
                                 ]
                             else bs
                     loop (n + (S.length bs)) stream
-
 
     hh
         | port req == 80 && not (secure req) = host req
diff --git a/http-client.cabal b/http-client.cabal
--- a/http-client.cabal
+++ b/http-client.cabal
@@ -1,5 +1,5 @@
 name:                http-client
-version:             0.5.3.3
+version:             0.5.3.4
 synopsis:            An HTTP client engine
 description:         Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/http-client>.
 homepage:            https://github.com/snoyberg/http-client
