anchor.diff:  
   -ifdef(TEST).
   -include_lib("triq/include/triq.hrl").
  +
  +alpha_chars() -> lists:seq($a, $z) ++ lists:seq($A, $Z).
  +digit_chars() -> lists:seq($0, $9).
  +
  +tchar() -> oneof([$!, $#, $$, $%, $&, $', $*, $+, $-, $., $^, $_, $`, $|, $~] ++ digit_chars() ++ alpha_chars()).
  +token() -> ?LET(T, non_empty(list(tchar())), list_to_binary(T)).
  +
  +qdtext() ->
  +	oneof([$\t, $\s, $!] ++ lists:seq(16#23, 16#5b) ++ lists:seq(16#5d, 16#7e) ++ lists:seq(16#80, 16#ff)).
  +
  +quoted_pair() ->
  +	[$\\, oneof([$\t, $\s] ++ lists:seq(16#21, 16#7e) ++ lists:seq(16#80, 16#ff))].
  +
  +quoted_string() ->
  +	[$", list(frequency([{100, qdtext()}, {1, quoted_pair()}])), $"].
  +
  +%% Helper function for ( token / quoted-string ) values.
  +unquote([$", V, $"]) -> unquote(V, <<>>);
  +unquote(V) -> V.
  +
  +unquote([], Acc) -> Acc;
  +unquote([[$\\, C]|Tail], Acc) -> unquote(Tail, << Acc/binary, C >>);
  +unquote([C|Tail], Acc) -> unquote(Tail, << Acc/binary, C >>).
   -endif.
   
   %% @doc Parse the Accept header.
   
  --spec parse_accept(binary()) -> [{{binary(), binary(), [{binary(), binary()}]}, qvalue(), [binary() | {binary(), binary()}]}].
  +-spec parse_accept(binary()) -> [{media_type(), qvalue(), [binary() | {binary(), binary()}]}].
   parse_accept(<<"*/*">>) ->
   	[{{<<"*">>, <<"*">>, []}, 1000, []}];
   parse_accept(Accept) ->
  
positive.code: 	).
  -endif.
  
  %% @doc Parse the Expect header.
  
  -spec parse_expect(binary()) -> continue.
  
negative.code: -export([parse_accept_language/1]).
  -export([parse_connection/1]).
  -export([parse_content_length/1]).
  -export([parse_content_type/1]).
  -export([parse_expect/1]).
  -export([parse_max_forwards/1]).
  -export([parse_transfer_encoding/1]).
  
  -type media_type() :: {binary(), binary(), [{binary(), binary()}]}.
  -export_type([media_type/0]).
  
  -type qvalue() :: 0..1000.
  -export_type([qvalue/0]).
  
  