anchor.diff:  to_proplist(Value)                       ->
     Value.
   
  -make_request(R = #request{}) ->
  +request(R = #request{}) ->
     case http_request(R) of
       {ok, {{Code, _}, Hdrs, RawBody}} ->
         #response{ status      = Code
  
positive.code:   run_scenario(Blueprint#api_blueprint.operations, Params, SubVars, []).
  
  run_scenario([#operation{request=Req, response=Rsp}|T], Params, SubVars, Acc) ->
    Request          = request(Req, Params, SubVars),
    ExpectedResponse = response(Rsp, SubVars),
    ActualResponse   = make_request(Request),
    case Result = validate(ExpectedResponse, ActualResponse) of
      pass -> run_scenario(T, Params, SubVars, [{Request, Result}|Acc]);
      _    -> dbg(Request, ExpectedResponse, ActualResponse, Result)
  
negative.code:               , proplists:get_value(path, Params, Path)
                ], "").
  
  make_request(#request{headers=Hdrs, url=Url0, body=RawBody0} = Req,
          Params,
          SubVars) ->
    RawBody = substitute(RawBody0, SubVars),
    Url = make_request_url(Params, substitute(extract(Url0), SubVars)),
    Req#request{ url  = Url
               , headers = Hdrs
               , body = RawBody
               }.
  
  make_response(#response{headers=Hdrs, body=RawBody0} = Rsp, SubVars) ->
    RawBody = substitute(RawBody0, SubVars),
    Rsp#response{ body = maybe_parse_body(Hdrs, RawBody)
                }.
  