anchor.diff:  
   handle_call({set, KVList}, _From, State) ->
       State2 = merge_configs(#config{dynamic = [KVList]}, State),
  +    save_config(State2),
       {reply, ok, State2}.
   
   %%--------------------------------------------------------------------
   
  -load_file_config(ConfigPath) ->
  +load_config(ConfigPath) ->
       DefaultConfig = config_default:default(),
       % Static config file.
  -    {ok, S} = read_file_config(ConfigPath),
  +    {ok, S} = load_config(file, ConfigPath),
       % Dynamic data directory.
       {value, DirPath} = search([S, DefaultConfig], directory),
       ok = filelib:ensure_dir(DirPath),
       % Dynamic config file.
  -    D = case read_file_config(filename:join(DirPath, "dynamic.cfg")) of
  +    D = case load_config(bin, filename:join(DirPath, "dynamic.cfg")) of
               {ok, DRead} -> DRead;
               _           -> []
           end,
  -    #config{static = [S, DefaultConfig], dynamic = [D]}.
  +    #config{static = [S, DefaultConfig], dynamic = D}.
   
  -read_file_config(ConfigPath) -> file:consult(ConfigPath).
  +save_config(#config{dynamic = D} = Config) ->
  +    {value, DirPath} = search(Config, directory),
  +    ok = filelib:ensure_dir(DirPath),
  +    % Only saving the dynamic config parts.
  +    ok = save_config(bin, filename:join(DirPath, "dynamic.cfg"), D).
  +
  +load_config(file, ConfigPath) -> file:consult(ConfigPath);
  +
  +load_config(bin, ConfigPath) ->
  +    case file:read_file(ConfigPath) of
  +        {ok, B} -> {ok, binary_to_term(B)};
  +        _       -> not_found
  +    end.
  +
  +save_config(bin, ConfigPath, X) ->
  +    {ok, F} = file:open(ConfigPath, [write, raw]),
  +    ok = file:write(F, term_to_binary(X)),
  +    ok = file:close(F).
   
   pick_node_and_merge(Local, Nodes) when length(Nodes) == 0 -> Local;
   pick_node_and_merge(Local, Nodes) ->
  
positive.code: 
  stop() -> gen_server:cast(?MODULE, stop).
  
  set(Key, Val)      -> ?MODULE:set([{Key, Val}]).
  set(KVList)        -> gen_server:call(?MODULE, {set, KVList}).
  get()              -> gen_server:call(?MODULE, get).
  get(Node)          -> ?MODULE:get(Node, 500).
  get(Node, Timeout) -> gen_server:call({?MODULE, Node}, get, Timeout).
  
negative.code: % A static config file is often hand edited.
  % potentially with in-line manual comments.
  %
  % A dynamic config file is system generated and modified,
  % such as due to changes from UI/admin-screen operations, or
  % nodes getting added/removed, and gossiping about config
  % information.
  %
  