diff --git a/Data/XCB/FromXML.hs b/Data/XCB/FromXML.hs
--- a/Data/XCB/FromXML.hs
+++ b/Data/XCB/FromXML.hs
@@ -30,6 +30,7 @@
 
 import Control.Applicative ((<$>))
 import Control.Monad
+import Control.Monad.Fail (MonadFail)
 import Control.Monad.Reader
 
 import System.IO (openFile, IOMode (ReadMode), hSetEncoding, utf8, hGetContents)
@@ -339,7 +340,7 @@
   opMax <- el `attr` "opcode-max" >>= readM
   return $ AllowedEvent extension xge opMin opMax
 
-structField :: (MonadPlus m, Functor m) => Element -> m StructElem
+structField :: (MonadFail m, MonadPlus m, Functor m) => Element -> m StructElem
 structField el
     | el `named` "field" = do
         typ <- liftM mkType $ el `attr` "type"
@@ -401,7 +402,7 @@
                   in error $ "I don't know what to do with structelem "
  ++ show name
 
-bitCase :: (MonadPlus m, Functor m) => Element -> m BitCase
+bitCase :: (MonadFail m, MonadPlus m, Functor m) => Element -> m BitCase
 bitCase el | el `named` "bitcase" || el `named` "case" = do
               let mName = el `attr` "name"
               (exprEl, fieldEls) <- unconsChildren el
@@ -413,7 +414,7 @@
               let name = elName el
               in error $ "Invalid bitCase: " ++ show name
 
-expression :: (MonadPlus m, Functor m) => Element -> m XExpression
+expression :: (MonadFail m, MonadPlus m, Functor m) => Element -> m XExpression
 expression el | el `named` "fieldref"
                     = return $ FieldRef $ strContent el
               | el `named` "enumref" = do
diff --git a/Data/XCB/Pretty.hs b/Data/XCB/Pretty.hs
--- a/Data/XCB/Pretty.hs
+++ b/Data/XCB/Pretty.hs
@@ -14,6 +14,8 @@
 -- intended to aid in debugging.
 module Data.XCB.Pretty where
 
+import Prelude hiding ((<>))
+
 import Data.XCB.Types
 
 import Text.PrettyPrint.HughesPJ
diff --git a/xcb-types.cabal b/xcb-types.cabal
--- a/xcb-types.cabal
+++ b/xcb-types.cabal
@@ -1,5 +1,5 @@
 Name:         xcb-types
-Version:      0.9.0
+Version:      0.10.0
 Cabal-Version:  >= 1.6
 Synopsis:     Parses XML files used by the XCB project
 Description:   This package provides types which mirror the structures
@@ -17,7 +17,7 @@
   to learn XSLT, this package should help.
   .
   This version of xcb-types is intended to fully parse the X Protocol
-  description version 1.4.
+  description version 1.13.
 
 License:      BSD3
 License-file: LICENSE
