diff --git a/api-builder.cabal b/api-builder.cabal
--- a/api-builder.cabal
+++ b/api-builder.cabal
@@ -1,5 +1,5 @@
 name: api-builder
-version: 0.9.0.0
+version: 0.9.1.0
 synopsis: Library for easily building REST API wrappers in Haskell
 license: BSD3
 license-file: LICENSE
@@ -18,7 +18,7 @@
 source-repository this
   type: git
   location: git://github.com/intolerable/api-builder.git
-  tag: v0.9.0.0
+  tag: v0.9.1.0
 
 library
   exposed-modules:
@@ -35,15 +35,15 @@
   build-depends:
     base >= 4.6 && < 4.9,
     aeson >= 0.7 && < 0.9,
-    attoparsec >= 0.11 && < 0.13,
+    attoparsec >= 0.11 && < 0.14,
     bifunctors >= 4.0 && < 6.0,
     bytestring == 0.10.*,
     HTTP == 4000.*,
-    http-client == 0.4.7.* || == 0.4.11.*,
+    http-client == 0.4.7.* || (>= 0.4.11 && < 0.4.17),
     http-conduit == 2.*,
     http-types == 0.8.*,
     text == 1.*,
-    transformers >= 0.3 && < 0.5
+    transformers >= 0.4 && < 0.5
   hs-source-dirs: src/
   default-language: Haskell2010
   default-extensions:
diff --git a/src/Network/API/Builder/Send/Multipart.hs b/src/Network/API/Builder/Send/Multipart.hs
--- a/src/Network/API/Builder/Send/Multipart.hs
+++ b/src/Network/API/Builder/Send/Multipart.hs
@@ -1,4 +1,6 @@
-module Network.API.Builder.Send.Multipart where
+module Network.API.Builder.Send.Multipart
+  ( sendMultipart
+  , Multipart(..) ) where
 
 import Network.API.Builder.Builder
 import Network.API.Builder.Routes
@@ -9,9 +11,13 @@
 import Network.HTTP.Client.MultipartFormData
 import Network.HTTP.Conduit (Request)
 
+-- | A type for multipart forms, which uses 'Part's from 'Network.HTTP.Client.MultipartFormData'.
+--   Construct it and send it with 'sendMultipart' (not 'send').
 data Multipart = Multipart [Part]
   deriving (Show)
 
+-- | Send a 'Multipart' request. This can't use the normal 'send' mechanism since
+--   it has to do IO to construct its request.
 sendMultipart :: MonadIO m => Builder -> Route -> Multipart -> m (Maybe Request)
 sendMultipart b r (Multipart ps) = do
   case send b r () of
