anchor.diff:  scan(Path) ->
     scan(Path, []).
   
  --spec scan(Path::directory(), Options::[{atom(), term()}]) ->
  -              [{module(), iota_info()}].
  +-spec scan(Path::directory(), Options::options()) -> [{module(), iota_info()}].
   scan(Path, Options) ->
     XrefServer = iota_utils:get(xref_server, Options, iota_xref),
     AbsPath = filename:absname(Path),
  
positive.code: -type directory()      :: string().
  -type iota_info_item() :: {module(), term()}.
  -type iota_info()      :: [iota_info_item()].
  
  %% @doc Scan the given path and extract iota information from BEAM attributes
  %% for all applications found in the path. Additionally, we add information
  
negative.code:                 case xref:add_application(XrefServer, A, [{warnings, false}]) of
                    {ok, _} = R -> R;
                    {error, _, {application_clash, _}} ->
                      N = generate_new_name(A),
                      xref:add_application(XrefServer, A, [{warnings, false},
                                                           {name, N}])
                  end
  