diff --git a/src/Text/ParserCombinators/UU/CHANGELOG.hs b/src/Text/ParserCombinators/UU/CHANGELOG.hs
--- a/src/Text/ParserCombinators/UU/CHANGELOG.hs
+++ b/src/Text/ParserCombinators/UU/CHANGELOG.hs
@@ -1,5 +1,9 @@
 -- | This module just contains the CHANGELOG
 --
+-- Version 2.7.4.2
+--
+-- Changed a  types of execParser and runParser; thanks due to Benjamin Moseley
+--
 -- Version 2.7.4.1
 -- 
 -- export of constructors of LineCol and LineColPos 
diff --git a/src/Text/ParserCombinators/UU/Utils.hs b/src/Text/ParserCombinators/UU/Utils.hs
--- a/src/Text/ParserCombinators/UU/Utils.hs
+++ b/src/Text/ParserCombinators/UU/Utils.hs
@@ -277,13 +277,13 @@
 -- * Running parsers straightforwardly
 
 -- | The lower-level interface. Returns all errors. 
-execParser :: Parser a -> String -> (a, [Error LineColPos])
+execParser :: LL.ListLike state Char => P (Str Char state LineColPos) a -> state -> (a, [Error LineColPos])
 execParser p = parse_h ((,) <$> p <*> pEnd) . createStr (LineColPos 0 0 0)
 
 -- | The higher-level interface. (Calls 'error' with a simplified error).  
 --   Runs the parser; if the complete input is accepted without problems  return the
 --   result else fail with reporting unconsumed tokens
-runParser :: String -> Parser a -> String -> a
+runParser ::String -> P (Str Char String LineColPos) a -> String -> a
 runParser inputName p s | (a,b) <- execParser p s =
     if null b
     then a
diff --git a/uu-parsinglib.cabal b/uu-parsinglib.cabal
--- a/uu-parsinglib.cabal
+++ b/uu-parsinglib.cabal
@@ -1,5 +1,5 @@
 Name:                uu-parsinglib
-Version:             2.7.4.1
+Version:             2.7.4.2
 Build-Type:          Simple
 License:             MIT
 Copyright:           S Doaitse Swierstra 
