anchor.diff:  %% with Location the full new URI of the resource.
   moved_permanently(Req, State, OnFalse) ->
   	case call(Req, State, moved_permanently) of
  -		{{true, Location}, Req2, HandlerState} ->
  +		{{true, Location}, Req2, State2} ->
   			Req3 = cowboy_req:set_resp_header(
   				<<"location">>, Location, Req2),
  -			respond(Req3, State#state{handler_state=HandlerState}, 301);
  -		{false, Req2, HandlerState} ->
  -			OnFalse(Req2, State#state{handler_state=HandlerState});
  -		{stop, Req2, HandlerState} ->
  -			terminate(Req2, State#state{handler_state=HandlerState});
  -		{Switch, Req2, HandlerState} when element(1, Switch) =:= switch_handler ->
  -			switch_handler(Switch, Req2, HandlerState);
  +			respond(Req3, State2, 301);
  +		{false, Req2, State2} ->
  +			OnFalse(Req2, State2);
  +		{stop, Req2, State2} ->
  +			terminate(Req2, State2);
  +		{Switch, Req2, State2} when element(1, Switch) =:= switch_handler ->
  +			switch_handler(Switch, Req2, State2);
   		no_call ->
   			OnFalse(Req, State)
   	end.
  
positive.code: 				no_call ->
  					languages_provided(Req#{media_type => {TP, STP, Params_A0}},
  						State#state{content_type_a=Provided});
  				{stop, Req2, HandlerState} ->
  					terminate(Req2, State#state{handler_state=HandlerState});
  				{Switch, Req2, HandlerState} when element(1, Switch) =:= switch_handler ->
  					switch_handler(Switch, Req2, HandlerState);
  				{CP, Req2, HandlerState} ->
  					State2 = State#state{handler_state=HandlerState, charsets_p=CP},
  					case lists:member(Charset, CP) of
  						false ->
  							match_media_type(Req2, State2, Accept, Tail, MediaType);
  						true ->
  							languages_provided(Req2#{media_type => {TP, STP, Params_A}},
  								State2#state{content_type_a=Provided,
  									charset_a=Charset})
  					end
  			end;
  
negative.code: 	case call(Req, State, languages_provided) of
  		no_call ->
  			charsets_provided(Req, State);
  		{stop, Req2, State2} ->
  			terminate(Req2, State2);
  		{Switch, Req2, State2} when element(1, Switch) =:= switch_handler ->
  			switch_handler(Switch, Req2, State2);
  		{[], Req2, State2} ->
  			not_acceptable(Req2, State2);
  		{LP, Req2, State2} ->
  			State3 = State2#state{languages_p=LP},
  			case cowboy_req:parse_header(<<"accept-language">>, Req2) of
  				undefined ->
  					set_language(Req2, State3#state{language_a=hd(LP)});
  				AcceptLanguage ->
  					AcceptLanguage2 = prioritize_languages(AcceptLanguage),
  					choose_language(Req2, State3, AcceptLanguage2)
  			end
  	end.
  
  