anchor.diff:  accept_ext_attr(Data, Fun, Type, SubType, Params, Quality, Acc) ->
   	token_ci(Data,
   		fun (_Rest, <<>>) -> {error, badarg};
  +			(<< $=, Rest/bits >>, Attr) ->
  +				accept_ext_value(Rest, Fun, Type, SubType, Params,
  +					Quality, Acc, Attr);
   			(Rest, Attr) ->
  -				whitespace(Rest,
  -					fun (<< $=, Rest2/bits >>) ->
  -							whitespace(Rest2,
  -								fun (<<>>) -> {error, badarg};
  -									(Rest3) ->
  -										accept_ext_value(Rest3, Fun,
  -											Type, SubType, Params,
  -											Quality, Acc, Attr)
  -								end);
  -						(Rest2) ->
  -							accept_ext(Rest2, Fun,
  -								Type, SubType, Params,
  -								Quality, [Attr|Acc])
  -					end)
  +				accept_ext(Rest, Fun, Type, SubType, Params,
  +					Quality, [Attr|Acc])
   		end).
   
   -spec accept_ext_value(binary(), fun(), binary(), binary(),
  
positive.code: media_range_param_attr(Data, Fun, Type, SubType, Acc) ->
  	token_ci(Data,
  		fun (_Rest, <<>>) -> {error, badarg};
  			(Rest, Attr) ->
  				whitespace(Rest,
  					fun (<< $=, Rest2/bits >>) ->
  							whitespace(Rest2,
  								fun (<<>>) -> {error, badarg};
  									(Rest3) ->
  										media_range_param_value(Rest3, Fun,
  											Type, SubType, Acc, Attr)
  								end);
  						(_Rest2) ->
  							{error, badarg}
  					end)
  		end).
  
  -spec media_range_param_value(binary(), fun(), binary(), binary(),
  
negative.code: media_range(Data, Fun) ->
  	token_ci(Data,
  		fun (_Rest, <<>>) -> {error, badarg};
  			(<< $/, Rest/bits >>, Type) -> token_ci(Rest,
  				fun (_Rest2, <<>>) -> {error, badarg};
  					(Rest2, SubType) ->
  						media_range_params(Rest2, Fun, Type, SubType, [])
  				end)
  		end).
  
  -spec media_range_params(binary(), fun(), binary(), binary(),
  