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.7.1.0
+version: 0.7.3.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.7.1.0
+  tag: v0.7.3.0
 
 library
   exposed-modules:
@@ -70,7 +70,7 @@
     http-conduit,
     text,
     transformers
-  GHC-options: -Wall -Werror
+  GHC-options: -Wall
 
 test-suite test-io
   hs-source-dirs: test-io
@@ -89,4 +89,4 @@
     hspec,
     text,
     transformers
-  GHC-options: -Wall -Werror
+  GHC-options: -Wall
diff --git a/src/Network/API/Builder/Error.hs b/src/Network/API/Builder/Error.hs
--- a/src/Network/API/Builder/Error.hs
+++ b/src/Network/API/Builder/Error.hs
@@ -14,6 +14,7 @@
                 | InvalidURLError -- ^ You're trying to create an invalid URL somewhere - check your
                                   --   @Builder@'s base URL and your @Route@s.
                 | ParseError String -- ^ Failed when parsing the response, and it wasn't an error on their end.
+                | EmptyError -- ^ Empty error to serve as a zero element for Monoid.
   deriving Show
 
 instance Eq a => Eq (APIError a) where
@@ -21,3 +22,8 @@
   InvalidURLError == InvalidURLError = True
   (ParseError a) == (ParseError b) = a == b
   _ == _ = False
+
+instance Monoid (APIError a) where
+  mempty = EmptyError
+  EmptyError `mappend` x = x
+  x `mappend` _ = x
