diff --git a/hxt-tagsoup.cabal b/hxt-tagsoup.cabal
--- a/hxt-tagsoup.cabal
+++ b/hxt-tagsoup.cabal
@@ -1,6 +1,6 @@
 -- arch-tag: Haskell XML Toolbox main description file
 Name:           hxt-tagsoup
-Version:        9.1.2
+Version:        9.1.3
 Synopsis:       TagSoup parser for HXT
 Description:    The Tagsoup interface for the HXT lazy HTML parser.
 License:        OtherLicense
diff --git a/src/Text/XML/HXT/Arrow/TagSoupInterface.hs b/src/Text/XML/HXT/Arrow/TagSoupInterface.hs
--- a/src/Text/XML/HXT/Arrow/TagSoupInterface.hs
+++ b/src/Text/XML/HXT/Arrow/TagSoupInterface.hs
@@ -44,7 +44,7 @@
 > import Text.HXT.XML.TagSoup
 > ...
 >
-> readDocument [ withExpat ] "some-file.xml"
+> readDocument [ withTagSoup ] "some-file.xml"
 > ...
 
 reads the given document and parses it with the lazy tagsoup parser.
diff --git a/src/Text/XML/HXT/Parser/TagSoup.hs b/src/Text/XML/HXT/Parser/TagSoup.hs
--- a/src/Text/XML/HXT/Parser/TagSoup.hs
+++ b/src/Text/XML/HXT/Parser/TagSoup.hs
@@ -2,7 +2,7 @@
 
 {- |
    Module     : Text.XML.HXT.Parser.TagSoup
-   Copyright  : Copyright (C) 2005-2008 Uwe Schmidt
+   Copyright  : Copyright (C) 2005-2014 Uwe Schmidt
    License    : MIT
 
    Maintainer : Uwe Schmidt (uwe@fh-wedel.de)
@@ -23,6 +23,9 @@
 
 -- ------------------------------------------------------------
 
+import Control.Applicative              ( Applicative(..) )
+import Control.Monad                    ( liftM, ap )
+
 import Data.Char                        ( toLower
                                         )
 import Data.Char.Properties.XMLCharProps( isXmlSpaceChar
@@ -75,6 +78,13 @@
 type State              = Tags
 
 newtype Parser a        = P { parse :: State -> (a, State)}
+
+instance Functor Parser where
+    fmap = liftM
+
+instance Applicative Parser where
+    pure  = return
+    (<*>) = ap
 
 instance Monad Parser where
     return x    = P $ \ ts -> (x, ts)
