anchor.diff:      lists_keydelete(K, N, Ts);
   lists_keydelete(K, N, [X|Ts]) ->
       [X|lists_keydelete(K, N, Ts)].
  +
  +%% as lists:nth/2 but return Default for out of bounds
  +lists_nth(0, List, Default) when is_list(List) ->
  +    Default;
  +lists_nth(1, [H | _], _Default) ->
  +    H;
  +lists_nth(_N, [], Default) ->
  +    Default;
  +lists_nth(N, [_ | T], Default) ->
  +    lists_nth(N - 1, T, Default).
  
positive.code: is_reqname(clear_hosts) -> true;
  is_reqname(_) -> false.
  
  %% Add a resource record to the cache if there is space left.
  %% If the cache is full this function first deletes old entries,
  %% i.e. entries with the oldest access time.
  %%
  
negative.code: 
  %% ETS match expressions
  %%
  -compile(
     {inline,
      [dns_rr_match_tm_ttl_cnt/3, dns_rr_match_cnt/1,
       dns_rr_match/3, dns_rr_match/4]}).
  %%
  dns_rr_match_tm_ttl_cnt(TM, TTL, Cnt) ->
      #dns_rr{
         domain = '_', class = '_', type = '_', data = '_',
         cnt = Cnt, tm = TM, ttl = TTL, bm = '_', func = '_'}.
  dns_rr_match_cnt(Cnt) ->
      #dns_rr{
         domain = '_', class = '_', type = '_', data = '_',
         cnt = Cnt, tm = '_', ttl = '_', bm = '_', func = '_'}.
  %%
  dns_rr_match(Domain, Class, Type) ->
      #dns_rr{
         domain = Domain, class = Class, type = Type, data = '_',
  