anchor.diff:  		{<<"erlang.fr">>, '_',
   			{ok, match_erlang_ext, [], [{ext, <<"fr">>}]}},
   		{<<"any">>, <<"/users/444/friends">>,
  -			{ok, match_users_friends, [], [{id, <<"444">>}]}},
  -		{<<"ninenines.fr">>, <<"/threads/987">>,
  -			{ok, match_duplicate_vars, [we, {expect, two}, var, here],
  -				[{var, <<"fr">>}, {var, <<"987">>}]}}
  +			{ok, match_users_friends, [], [{id, <<"444">>}]}}
   	],
   	[{lists:flatten(io_lib:format("~p, ~p", [H, P])), fun() ->
   		{ok, Handler, Opts, Binds, undefined, undefined}
  
positive.code: 		<<"ninenines.eu">>, <<"/path/ESSEN">>),
  	ok.
  
  -endif.
  
negative.code: 	{ok, Handler, Opts, Bindings, HostInfo, undefined};
  match_path([{PathMatch, Constraints, Handler, Opts}|Tail], HostInfo, Tokens,
  		Bindings) when is_list(Tokens) ->
  	case list_match(Tokens, PathMatch, Bindings) of
  		false ->
  			match_path(Tail, HostInfo, Tokens, Bindings);
  		{true, PathBinds, PathInfo} ->
  			case check_constraints(Constraints, PathBinds) of
  				{ok, PathBinds2} ->
  					{ok, Handler, Opts, PathBinds2, HostInfo, PathInfo};
  				nomatch ->
  					match_path(Tail, HostInfo, Tokens, Bindings)
  			end
  