anchor.diff:  
   locate_import(Import, Opts) ->
       ImportPaths = [Path || {i, Path} <- Opts],
  -    locate_import_aux(ImportPaths, Import, Opts).
  -
  -locate_import_aux([Path | Rest], Import, Opts) ->
  +    locate_import_aux(ImportPaths, Import, Opts, []).
  +
  +locate_import_aux([Path | Rest], Import, Opts, Tried) ->
       File = filename:join(Path, Import),
       case file_read_file_info(File, Opts) of
           {ok, #file_info{access = A}} when A == read; A == read_write ->
  
positive.code:     ?f("~s:~w: ~s", [FileName, Line, Module:format_error(ErrInfo)]);
  fmt_err({scan_error, FileName, {Line, Module, ErrInfo}}) ->
      ?f("~s:~w: ~s", [FileName, Line, Module:format_error(ErrInfo)]);
  fmt_err({import_not_found, Import}) ->
      ?f("Could not find import file ~p", [Import]);
  fmt_err({read_failed, File, Reason}) ->
      ?f("failed to read ~p: ~s (~p)", [File, file:format_error(Reason), Reason]);
  fmt_err({post_process, Reasons}) ->
  
negative.code:                     {error, {read_failed, File, Reason}}
              end;
          {ok, #file_info{}} ->
              locate_import_aux(Rest, Import, Opts, Tried);
          {error, Reason} ->
              locate_import_aux(Rest, Import, Opts, [{File,Reason} | Tried])
      end;
  locate_import_aux([], Import, _Opts, Tried) ->
      {error, {import_not_found, Import, Tried}}.
  
  try_topsort_defs(Defs) ->
      G = digraph:new(),
  