diff --git a/ede.cabal b/ede.cabal
--- a/ede.cabal
+++ b/ede.cabal
@@ -1,5 +1,5 @@
 name:                  ede
-version:               0.2.8.4
+version:               0.2.8.5
 synopsis:              Templating language with similar syntax and features to Liquid or Jinja2.
 homepage:              http://github.com/brendanhay/ede
 license:               OtherLicense
@@ -85,7 +85,7 @@
         , text                 >= 1.2
         , text-format          >= 0.3
         , text-manipulate      >= 0.1.2
-        , trifecta             >= 1.5.1
+        , trifecta             >= 1.6
         , unordered-containers >= 0.2.3
         , vector               >= 0.7.1
 
diff --git a/src/Text/EDE.hs b/src/Text/EDE.hs
--- a/src/Text/EDE.hs
+++ b/src/Text/EDE.hs
@@ -289,9 +289,9 @@
 -- A simple example of parsing and rendering 'Text' containing a basic conditional
 -- expression and variable interpolation follows.
 --
--- First the 'Template' is defined:
+-- First the 'Template' is defined and parsed in the 'Result' monad:
 --
--- >>> let tmpl = "{% if var %}\nHello, {{ var }}!\n{% else %}\nnegative!\n{% endif %}\n" :: Data.ByteString.ByteString
+-- >>> tmpl <- parse "{% if var %}\nHello, {{ var }}!\n{% else %}\nnegative!\n{% endif %}\n" :: Result Template
 --
 -- Then an 'Object' is defined containing the environment which will be
 -- available to the 'Template' during rendering:
@@ -299,9 +299,9 @@
 -- >>> let env = fromPairs [ "var" .= "World" ] :: Object
 --
 -- Note: the 'fromPairs' function above is a wrapper over Aeson's 'object'
--- which removes the 'Value' constructor, exposing the delicious 'HashMap' underneath.
+-- which removes the outer 'Object' 'Value' constructor, exposing the underlying 'HashMap'.
 --
--- Finally the environment is applied to the 'Template':
+-- Then, the 'Template' is rendered using the 'Object' environment:
 --
 -- >>> render tmpl env :: Result Text
 -- > Success "Hello, World!"
@@ -648,3 +648,4 @@
 -- > ...
 -- > {{ var }}
 -- > ...
+-- > {% endlet %}
diff --git a/src/Text/EDE/Internal/Parser.hs b/src/Text/EDE/Internal/Parser.hs
--- a/src/Text/EDE/Internal/Parser.hs
+++ b/src/Text/EDE/Internal/Parser.hs
@@ -110,7 +110,7 @@
     pos = Directed (Text.encodeUtf8 n) 0 0 0 0
 
     res (Tri.Success x) = Success (_includes `second` x)
-    res (Tri.Failure e) = Failure e
+    res (Tri.Failure e) = Failure $ _errDoc e
 
 pragma :: Parser m => m ()
 pragma = void . many $ do
