diff --git a/DAV.cabal b/DAV.cabal
--- a/DAV.cabal
+++ b/DAV.cabal
@@ -1,5 +1,5 @@
 name:                DAV
-version:             1.0.4
+version:             1.0.5
 synopsis:            RFC 4918 WebDAV support
 description:
    This is a library for the Web Distributed Authoring and Versioning
@@ -83,4 +83,4 @@
 source-repository this
   type:     git
   location: git://anonscm.debian.org/users/clint/DAV.git
-  tag:      DAV/1.0.3
+  tag:      DAV/1.0.5
diff --git a/Network/Protocol/HTTP/DAV.hs b/Network/Protocol/HTTP/DAV.hs
--- a/Network/Protocol/HTTP/DAV.hs
+++ b/Network/Protocol/HTTP/DAV.hs
@@ -52,7 +52,7 @@
 
 import Network.Protocol.HTTP.DAV.TH
 
-import Control.Applicative (liftA2, Applicative)
+import Control.Applicative (liftA2, Alternative, Applicative)
 import Control.Error (EitherT(..))
 import Control.Lens ((^.), (.=), (%=), (.~))
 import Control.Monad (when, MonadPlus)
@@ -89,7 +89,7 @@
     def = DAVContext [] def B.empty B.empty [] Nothing def Nothing "hDav-using application"
 
 newtype DAVT m a = DAVT { runDAVT :: EitherT String (StateT DAVContext m) a }
-    deriving (Applicative, Functor, Monad, MonadBase b, MonadError String, MonadFix, MonadIO, MonadPlus, MonadState DAVContext)
+    deriving (Alternative, Applicative, Functor, Monad, MonadBase b, MonadError String, MonadFix, MonadIO, MonadPlus, MonadState DAVContext)
 
 -- this orphan instance is probably a bad idea
 instance MonadMask m => MonadMask (EitherT e m) where
diff --git a/hdav.hs b/hdav.hs
--- a/hdav.hs
+++ b/hdav.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE FlexibleContexts #-}
+
 -- hdav.hs: WebDAV client
 -- Copyright © 2012-2014  Clint Adams
 --
