anchor.diff:               annots=Annots,
                exports=[],
                attrs=[],
  -             definitions=[],
  +             scopes=[],
  +             definitions=ec_dictionary:new(ec_dict),
                alias=ec_dictionary:new(ec_dict),
  -             require=sets:new(),
  +             require=ec_dictionary:new(ec_dict),
                use=ec_dictionary:new(ec_dict)}.
   
   %% create a new context with default values for aliased modules, required
  
positive.code:          line/2,
           definitions/1,
           add_exported_definition/5,
           add_definition/5]).
  
  -export_type([context/0,
                attr/0,
  
negative.code: -type context() :: record(context).
  -type attr() :: {Key::cerl:cerl(), Value::cerl:cerl()}.
  -type alias() :: ec_dictionary:dictionary(module(), module()).
  -type require() :: ec_dictionary:dictionary(module(),
                                              [{FunName::atom(),
                                                Arity::non_neg_integer()}]).
  -type use_key() :: {FunctionName::atom(), arity()}.
  -type use_value() :: {FunctionName::atom(), ModuleName::module()}.
  -type use() :: ec_dictionary:dictionary(use_key(), use_value()).
  -type definition() :: ec_dictionary:dictionary(use_key(),
                                                 {cerl:c_fname(),
                                                  cerl:c_fun()}).
  -type export() :: {Fun::atom(), Arity::non_neg_integer(),
                     Line::non_neg_integer()}.
  %%=============================================================================
  