anchor.diff:  % nodes getting added/removed, and gossiping about config
   % information.
   %
  --record(config, {static = [],  % List of TupleList's; TupleList is {K, V}.
  +-record(config, {init,         % Initialization parameters.
  +                 static = [],  % List of TupleList's; TupleList is {K, V}.
                    dynamic = [], % List of TupleList's; TupleList is {K, V}.
                    policy_mod
                   }).
  
positive.code: code_change(_OldVsn, State, _Extra) -> {ok, State}.
  handle_cast(stop, State)            -> {stop, shutdown, State}.
  handle_info(_Info, State)           -> {noreply, State}.
  
  handle_call(get, _From, State) -> {reply, State, State};
  
  
negative.code: 
  %% gen_server callbacks
  
  init({full, ConfigPath, DirPath, PolicyMod} = Init) ->
      case load_config(ConfigPath, DirPath, PolicyMod) of
          {ok, Config} ->
              Config2 = Config#config{init = Init},
              % TODO: Should save the merged dynamic file config.
              % TODO: Should let node_disco do picking and merging?
              Mergable = PolicyMod:mergable(),
              {ok, pick_node_and_merge(Mergable, Config2,
                                       nodes([visible]))};
          Error ->
              {stop, Error}
      end;
  