anchor.diff:  run_scenario([], _, _, Acc) ->
     Acc.
   
  +make_request_url(_, Url="http://"++_)  -> Url;
  +make_request_url(_, Url="https://"++_) -> Url;
   make_request_url(Params, Path) ->
     {Protocol, DefaultPort} = case proplists:get_value(ssl, Params, false) of
                                 true  -> {"https:", 443};
  
positive.code:               , proplists:get_value(path, Params, Path)
                ], "").
  
  request_url(_,      Url="http://"++_)  -> Url;
  request_url(_,      Url="https://"++_) -> Url;
  request_url(Params, Path)              -> make_request_url(Params, Path).
  
  request(#request{headers=Hdrs, url=Url0, body=RawBody0} = Req,
          Params,
          SubVars) ->
    RawBody = substitute(RawBody0, SubVars),
    Url = request_url(Params, substitute(extract(Url0), SubVars)),
    Req#request{ url  = Url
               , headers = Hdrs
               , body = RawBody
               }.
  
  response(#response{headers=Hdrs, body=RawBody0} = Rsp, SubVars) ->
    RawBody = substitute(RawBody0, SubVars),
    Rsp#response{ body = maybe_parse_body(Hdrs, RawBody)
                }.
  
negative.code: to_proplist(Value)                       ->
    Value.
  
  request(R = #request{}) ->
    case http_request(R) of
      {ok, {{Code, _}, Hdrs, RawBody}} ->
        #response{ status      = Code
  