anchor.diff:  compute_expected_return(Options, CompileTo, write_fails) ->
       compute_expected_return(Options, CompileTo, erroneous_code);
   compute_expected_return(Options, to_file, SrcQuality) ->
  -    WarnOpt = get_warning_opt(Options),
  -    ErrOpt = get_error_opt(Options),
  +    WarnOpt = get_warning_opt_from_perspective_of_return(Options),
  +    ErrOpt = get_error_opt_from_perspective_of_return(Options),
       case {WarnOpt, ErrOpt, SrcQuality} of
           {report, report, clean_code}      -> ok;
           {report, report, warningful_code} -> ok;
  
positive.code:         {return, report, erroneous_code}  -> {error, '_', []}
      end;
  compute_expected_return(Options, to_binary, SrcQuality) ->
      WarnOpt = get_warning_opt(Options),
      ErrOpt = get_error_opt(Options),
      case {WarnOpt, ErrOpt, SrcQuality} of
          {report, report, clean_code}      -> {ok, mod, binary};
          {report, report, warningful_code} -> {ok, mod, binary};
  
negative.code:     [e] = M:get_enum_names(),
      unload_code(M).
  
  %% --- Returning/reporting warnings/errors tests -----
  %% ... when compiling to file/binary/defs
  %% ... when compiling from file/defs
  %% ... when there are/aren't warnings/errors
  
  report_or_return_warnings_or_errors_test_() ->
      %% Without increased timeout, this test sometimes times out
      %% on my slow machine (1.6 GHz Atom N270)
      {timeout,58,fun report_or_return_warnings_or_errors_test_aux/0}.
  
  report_or_return_warnings_or_errors_test_aux() ->
  