anchor.diff:  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)
  +			(<< $=, Rest/bits >>, Attr) ->
  +				media_range_param_value(Rest, Fun, Type, SubType, Acc, Attr)
   		end).
   
   -spec media_range_param_value(binary(), fun(), binary(), binary(),
  
positive.code: accept_ext_attr(Data, Fun, Type, SubType, Params, Quality, Acc) ->
  	token_ci(Data,
  		fun (_Rest, <<>>) -> {error, badarg};
  			(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)
  		end).
  
  -spec accept_ext_value(binary(), fun(), binary(), binary(),
  
negative.code: 
  %% Parse a quality parameter string (for example q=0.500).
  -spec qparam(binary(), fun()) -> any().
  qparam(<< Q, $=, Data/bits >>, Fun) when Q =:= $q; Q =:= $Q ->
  	qvalue(Data, Fun).
  
  %% @doc Skip whitespace.
  -spec whitespace(binary(), fun()) -> any().
  