anchor.diff:  	{Name, Value} = lists:keyfind(Name, 1, Req#http_req.qs_vals),
   	{Value, Req}.
   
  --spec qs_val(Name::atom(), Default::term(), Req::#http_req{})
  -	-> {Value::string() | term(), Req::#http_req{}}.
  +-spec qs_val(Name::string(), Default::term(), Req::#http_req{})
  +	-> {Value::string() | term() | true, Req::#http_req{}}.
   qs_val(Name, Default, Req=#http_req{raw_qs=RawQs, qs_vals=undefined}) ->
   	QsVals = parse_qs(RawQs),
   	qs_val(Name, Default, Req#http_req{qs_vals=QsVals});
  
positive.code: 	end.
  
  -spec body_qs(Req::#http_req{})
  	-> {list({Name::string(), Value::string()}), Req::#http_req{}}.
  body_qs(Req) ->
  	{ok, Body, Req2} = body(Req),
  	{parse_qs(binary_to_list(Body)), Req2}.
  
negative.code: raw_path(Req) ->
  	{Req#http_req.raw_path, Req}.
  
  -spec qs_val(Name::string(), Req::#http_req{})
  	-> {Value::string() | true, Req::#http_req{}}.
  qs_val(Name, Req=#http_req{raw_qs=RawQs, qs_vals=undefined}) ->
  	QsVals = parse_qs(RawQs),
  	qs_val(Name, Req#http_req{qs_vals=QsVals});
  