anchor.diff:  
   -record(config, { dir :: file:filename(),
                     opts = [] :: list(),
  -                  envs = [] :: list({module(), env()}) }).
  -
  --type env()     :: [env_var()].
  --type env_var() :: {string(), string()}.
  +                  envs = new_env() :: dict() }).
   
   %% Types that can be used from other modules -- alphabetically ordered.
   -export_type([config/0]).
  
positive.code: 
  set_env(Config, Mod, Env) ->
      OldEnvs = Config#config.envs,
      NewEnvs = case lists:keymember(Mod, 1, OldEnvs) of
                    true  -> lists:keyreplace(Mod, 1, OldEnvs, {Mod, Env});
                    false -> [{Mod,Env}|OldEnvs]
                end,
      Config#config{envs=NewEnvs}.
  
  get_env(Config, Mod) ->
      proplists:get_value(Mod, Config#config.envs, []).
  
  %% ===================================================================
  %% Internal functions
  
negative.code:     lists:reverse(Acc);
  local_opts([Item | Rest], Acc) ->
      local_opts(Rest, [Item | Acc]).
  
  new_env() ->
      dict:new().
  