anchor.diff:  
   -spec binding(Name::atom(), Req::#http_req{})
   	-> {Value::string() | undefined, Req::#http_req{}}.
  +%% @equiv binding(Name, Req) -> binding(Name, undefined, Req)
   binding(Name, Req) ->
  +	binding(Name, undefined, Req).
  +
  +-spec binding(Name::atom(), Default, Req::#http_req{})
  +	-> {Value::string() | Default, Req::#http_req{}} when Default::term().
  +binding(Name, Default, Req) ->
   	case lists:keyfind(Name, 1, Req#http_req.bindings) of
   		{Name, Value} -> {Value, Req};
  -		false -> {undefined, Req}
  -	end.
  -
  --spec binding(Name::atom(), Default::term(), Req::#http_req{})
  -	-> {Value::string() | term(), Req::#http_req{}}.
  -binding(Name, Default, Req) ->
  -	Value = proplists:get_value(Name, Req#http_req.bindings, Default),
  -	{Value, Req}.
  +		false -> {Default, Req}
  +	end.
   
   -spec bindings(Req::#http_req{})
   	-> {list({Name::atom(), Value::string()}), Req::#http_req{}}.
  
positive.code: 
  -spec qs_val(Name::string(), Req::#http_req{})
  	-> {Value::string() | true | undefined, 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});
  qs_val(Name, Req) ->
  	case lists:keyfind(Name, 1, Req#http_req.qs_vals) of
  		{Name, Value} -> {Value, Req};
  		false -> {undefined, Req}
  	end.
  
  -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});
  qs_val(Name, Default, Req) ->
  	Value = proplists:get_value(Name, Req#http_req.qs_vals, Default),
  	{Value, Req}.
  
  -spec qs_vals(Req::#http_req{})
  	-> {list({Name::string(), Value::string() | true}), Req::#http_req{}}.
  
negative.code: 
  -spec header(Name::atom() | string(), Req::#http_req{})
  	-> {Value::string() | undefined, Req::#http_req{}}.
  %% @equiv header(Name, Req) -> header(Name, undefined, Req)
  header(Name, Req) ->
  	header(Name, undefined, Req).
  
  -spec header(Name::atom() | string(), Default, Req::#http_req{})
  	-> {Value::string() | Default, Req::#http_req{}} when Default::term().
  header(Name, Default, Req) ->
  	case lists:keyfind(Name, 1, Req#http_req.headers) of
  		{Name, Value} -> {Value, Req};
  		false -> {Default, Req}
  	end.
  
  -spec headers(Req::#http_req{})
  	-> {list({Name::atom() | string(), Value::string()}), Req::#http_req{}}.
  