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: -spec handle_info(term(), state()) -> {'noreply', state()}.
  
  handle_info(refresh_timeout, State) ->
      _ = delete_expired(State#state.cache, times()),
      {noreply, State#state{cache_timer = init_timer()}};
  
  handle_info(_Info, State) ->
  