anchor.diff:      {Data2,Services} = decode_string(Data1),
       {Data,Regexp} = decode_characters(Data2, utf8),
       Replacement = decode_domain(Data, Buffer),
  -    {Order,Preference,string:lowercase(Flags),string:lowercase(Services),
  +    {Order,Preference,to_lower(Flags),to_lower(Services),
        Regexp,Replacement};
   %% ?S_OPT falls through to default
   decode_data(Data, _, ?S_TXT, _) ->
  
positive.code:     decode_txt(Data);
  decode_data(Data, _, ?S_URI, _) ->
      decode_txt(Data);
  decode_data(Data, _, ?S_CAA, _) ->
      decode_txt(Data);
  %% sofar unknown or non standard
  decode_data(Data, _, _, _) ->
      Data.
  
negative.code: 	    %% programming errors easier to locate.
  	    erlang:error(badarg, [Label,Name,N])
      end.
  
  %% Just lowercase ASCII A..Z
  to_lower([C | Cs]) when $A =< C, C =< $Z ->
      [C + 32 | to_lower(Cs)];
  to_lower([C | Cs]) ->
      [C | to_lower(Cs)];
  to_lower([]) ->
      [].
  
  %%
  %% Data field -> {binary(),NewCompressionTable}
  