anchor.diff:                    , EscapedK
                     , to_list(EscapedV)
                     , [{return, binary}, global]),
  -  substitute(Bin, ets:next(?TABLE, K0)).
  +  recall(Bin, Next).
   
   %%%_* Validation -------------------------------------------------------
   validate(E = #katt_response{}, A = #katt_response{}) ->
  
positive.code: make_request( #katt_request{headers=Hdrs0, url=Url0, body=RawBody0} = Req
              , Params
              ) ->
    Url1 = katt_util:from_utf8(substitute(katt_util:to_utf8(Url0))),
    Url = make_request_url(Params, Url1),
    Hdrs = [{K, katt_util:from_utf8(
                  substitute(
                    katt_util:to_utf8(V)
                   )
                 )} || {K, V} <- Hdrs0],
    RawBody = substitute(RawBody0),
    Req#katt_request{ url  = Url
                    , headers = Hdrs
                    , body = RawBody
                    }.
  
  make_response(#katt_response{headers=Hdrs0, body=RawBody0} = Rsp) ->
    Hdrs = [{K, substitute(V)} || {K, V} <- Hdrs0],
    RawBody = substitute(RawBody0),
    Rsp#katt_response{ body = maybe_parse_body(Hdrs, RawBody)
                     }.
  
  maybe_parse_body(_Hdrs, null) ->
  
negative.code: -include_lib("katt/include/blueprint_types.hrl").
  
  %%%_* Defines ==========================================================
  -define(VAR_PREFIX,        "katt_").
  -define(RECALL_BEGIN_TAG,  "{{<").
  -define(RECALL_END_TAG,    "}}").
  