anchor.diff:  
   %% @doc
   %%  Merges the build config. The second config always overrides the first
  -%% @end
   -spec merge_configs(config(), config()) -> config().
   merge_configs(Config1, Config2) ->
       dict:merge(fun(_Key, _Value1, Value2) ->
  
positive.code: -type value() :: term().
  -opaque config() :: any().
  
  
  %%====================================================================
  %% API
  %%====================================================================
  %% @doc
  %% Create a new empty config
  %% @end
  -spec new() -> config().
  new() ->
      dict:new().
  
  %% @doc
  %% Create a new config from a config file
  %% @end
  -spec new(ConfigFile::string()) -> config().
  new(ConfigFile) when is_list(ConfigFile)->
      case sin_utils:file_exists(ConfigFile) of
  
negative.code: 	 get_pairs/1,
           delete/2]).
  
  -export_type([key/0,
  	      value/0,
  	      config/0]).
  
  -include_lib("eunit/include/eunit.hrl").
  -include("internal.hrl").
  
  %%====================================================================
  %% Types
  %%====================================================================
  