diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,13 @@
+Text-Lips
+=========
+
+[![Travis](https://img.shields.io/travis/mvv/text-lips/master.svg)](https://travis-ci.org/mvv/text-lips) [![Hackage](https://img.shields.io/hackage/v/text-lips.svg)](http://hackage.haskell.org/package/text-lips)
+
+Monadic parsing combinator library with attention to locations.
+
+Installation
+------------
+The usual:
+
+	$ cabal install
+
diff --git a/src/Text/Lips.hs b/src/Text/Lips.hs
--- a/src/Text/Lips.hs
+++ b/src/Text/Lips.hs
@@ -340,7 +340,7 @@
   type ParserLoc p
   -- | The current location.
   location ∷ p (ParserLoc p)
-  default location ∷ (MonadTrans t, Monad p) ⇒ t p (ParserLoc p)
+  default location ∷ (MonadTrans t, Monad m, LocParsing m, p ~ t m, ParserLoc p ~ ParserLoc m) ⇒ p (ParserLoc p)
   location = lift location
   -- | Attach the starting location to the parsed value.
   located  ∷ p α → p (Located (ParserLoc p) α)
@@ -352,7 +352,7 @@
   -- | Reset the current line number and return the text lines fully consumed
   --   by the parser so far.
   resetLineNr ∷ Word → p (Seq Text)
-  default resetLineNr ∷ (MonadTrans t, Monad p) ⇒ Word → t p (Seq Text)
+  default resetLineNr ∷ (MonadTrans t, Monad m, ResetLineParsing m, p ~ t m) ⇒ Word → p (Seq Text)
   resetLineNr = lift . resetLineNr
 
 instance LocParsing Parser where
diff --git a/text-lips.cabal b/text-lips.cabal
--- a/text-lips.cabal
+++ b/text-lips.cabal
@@ -1,5 +1,5 @@
 Name: text-lips
-Version: 0.1
+Version: 0.1.0.1
 Category: Text, Parsing
 Stability: experimental
 Synopsis: Monadic parsing combinator library with attention to locations
@@ -14,6 +14,11 @@
 Copyright: 2014-2016 Mikhail Vorozhtsov <mikhail.vorozhtsov@gmail.com>
 License: BSD3
 License-File: LICENSE
+
+Extra-Source-Files:
+  README.md
+
+Tested-With: GHC==7.6.3, GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1
 
 Cabal-Version: >= 1.6.0
 Build-Type: Simple
