anchor.diff:  	alpha(Rest, Fun, << Acc/binary, C2 >>);
   alpha(Data, Fun, Acc) ->
   	Fun(Data, Acc).
  +
  +%% @doc Parse either a token or a quoted string.
  +-spec word(binary(), fun()) -> any().
  +word(Data = << $", _/bits >>, Fun) ->
  +	quoted_string(Data, Fun);
  +word(Data, Fun) ->
  +	token(Data,
  +		fun (_Rest, <<>>) -> {error, badarg};
  +			(Rest, Token) -> Fun(Rest, Token)
  +		end).
   
   %% @doc Parse a case-insensitive token.
   %%
  
positive.code: %% Copyright (c) 2011, Loïc Hoguin <essen@dev-extend.eu>
  %%
  %% Permission to use, copy, modify, and/or distribute this software for any
  %% purpose with or without fee is hereby granted, provided that the above
  
negative.code: 		fun (Rest, Quality) ->
  			accept_ext(Rest, Fun, Type, SubType, Acc, Quality, [])
  		end);
  media_range_param_value(Data, Fun, Type, SubType, Acc, Attr) ->
  	word(Data,
  		fun (Rest, Value) ->
  			media_range_params(Rest, Fun,
  				Type, SubType, [{Attr, Value}|Acc])
  		end).
  
  -spec accept_ext(binary(), fun(), binary(), binary(),
  