diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+* 0.11.1.0 (2014-01-22)
+  - htfpp now lexes input files as text, not as haskell src. This allows
+    proper treatment of TH single quotes (fix for #26)
+  - more general type for subAssert
+
 * 0.11.0.1 (2013-09-03)
   - support for containers-0.4.* (thanks to M. Snoyman)
 
diff --git a/HTF.cabal b/HTF.cabal
--- a/HTF.cabal
+++ b/HTF.cabal
@@ -1,5 +1,5 @@
 Name:             HTF
-Version:          0.11.0.1
+Version:          0.11.1.0
 License:          LGPL
 License-File:     LICENSE
 Copyright:        (c) 2005-2012 Stefan Wehr
@@ -156,7 +156,7 @@
                     containers >= 0.4.2.1,
                     process >= 1.0,
                     directory >= 1.0,
-                    mtl >= 1.1 && < 2.2,
+                    mtl >= 1.1,
                     monad-control >= 0.3,
                     lifted-base >= 0.1,
                     pretty >= 1.0,
diff --git a/Setup.hs b/Setup.hs
--- a/Setup.hs
+++ b/Setup.hs
@@ -1,2 +1,5 @@
+#!/usr/bin/runhaskell
+
 import Distribution.Simple
+
 main = defaultMain
diff --git a/Test/Framework/HUnitWrapper.hs b/Test/Framework/HUnitWrapper.hs
--- a/Test/Framework/HUnitWrapper.hs
+++ b/Test/Framework/HUnitWrapper.hs
@@ -490,10 +490,10 @@
 -- In this case, if @i@ is not positive, you will get the location of the caller.
 --
 -- /Note:/ Don't use subAssert_ directly but use the preprocessor macro @subAssert@.
-subAssert_ :: MonadBaseControl IO m => Location -> m () -> m()
+subAssert_ :: MonadBaseControl IO m => Location -> m a -> m a
 subAssert_ loc ass = unitTestSubAssert loc Nothing ass
 
 
 -- | Same as 'subAssert_' but with an additional error message.
-subAssertVerbose_ :: MonadBaseControl IO m => Location -> String -> m () -> m ()
+subAssertVerbose_ :: MonadBaseControl IO m => Location -> String -> m a -> m a
 subAssertVerbose_ loc msg ass = unitTestSubAssert loc (Just msg) ass
diff --git a/Test/Framework/Preprocessor.hs b/Test/Framework/Preprocessor.hs
--- a/Test/Framework/Preprocessor.hs
+++ b/Test/Framework/Preprocessor.hs
@@ -26,6 +26,7 @@
 import System.IO ( hPutStrLn, stderr )
 import Language.Preprocessor.Cpphs ( runCpphs,
                                      CpphsOptions(..),
+                                     BoolOptions(..),
                                      defaultCpphsOptions)
 
 import Test.Framework.HaskellParser
@@ -200,6 +201,7 @@
                                     defines defaultCpphsOptions ++
                                     assertDefines hunitBackwardsCompat (mi_htfPrefix info) ++
                                     nameDefines info
+                              , boolopts = (boolopts defaultCpphsOptions) { lang = False } -- lex as text
                               }
       additionalCode :: ModuleInfo -> String
       additionalCode info =
