anchor.diff:                  replicas :: 'false' | 'too_many_failed_nodes'
                       | [{replica(), node()}],
                   url_cache :: 'false' | gb_set()}).
  +-type state() :: #state{}.
   
   % THOUGHT: Eventually we want to partition tag keyspace instead
   % of using a single global keyspace. This can be done relatively
  
positive.code:                 url_cache = false,
                  timeout = Timeout}}.
  
  %%% Note to the reader!
  %%%
  %%% handle_casts below form a state machine. The order in which the functions
  
negative.code: %%% machine is to follow the logic from the top to the bottom.
  %%%
  
  -spec handle_cast({msg(), from()} | {die, none} | notify(), state()) ->
          {noreply, state(), non_neg_integer()} | {stop, normal, state()}.
  % We don't want to cache requests made by garbage collector
  handle_cast({gc_get, ReplyTo}, #state{data = none} = S) ->
      handle_cast({gc_get0, ReplyTo}, S#state{timeout = 100});
  