diff --git a/bookhound.cabal b/bookhound.cabal
--- a/bookhound.cabal
+++ b/bookhound.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           bookhound
-version:        0.1.18.0
+version:        0.1.19.0
 synopsis:       Simple Parser Combinators
 description:    Please see the README on GitHub at <https://github.com/albertprz/bookhound#readme>
 category:       Parser Combinators
diff --git a/src/Bookhound/Parser.hs b/src/Bookhound/Parser.hs
--- a/src/Bookhound/Parser.hs
+++ b/src/Bookhound/Parser.hs
@@ -1,6 +1,6 @@
 module Bookhound.Parser (Parser, ParseResult, ParseError(..), runParser, errorParser,
                andThen, exactly, isMatch, check, anyOf, allOf, char,
-               withTransform, withError, withErrorN, withErrorFrom, except) where
+               withTransform, withError, withErrorN, withErrorFrom, withErrorNFrom, except) where
 
 import           Bookhound.Utils.Foldable (findJust)
 import           Control.Applicative      (liftA2)
@@ -69,7 +69,8 @@
     )
 
 instance Monad Parser where
-  (>>=) (P p t e) f = applyTransform t $ mkParser (\x ->
+  (>>=) (P p t e) f =
+    applyTransformError t e $ mkParser (\x ->
       case p x of
         Error pe   -> Error pe
         Result i a -> parse (applyError (e <> e') p2) i
@@ -156,7 +157,7 @@
   do c2 <- parser
      if cond c2
        then pure c2
-       else  errorParser $ NoMatch condName
+       else errorParser $ NoMatch condName
 
 
 except :: Parser a -> Parser a -> Parser a
