anchor.diff:  map_args(K, N, F, D, A) ->
       try map_args(N, F, D, A)
       catch error:Reason ->
  -        erlang:error({parse_error, Reason, K, A})
  +            erlang:error({parse_error, Reason, K, A})
       end.
   
   map_args(_N, _F, D, []) -> D;
  
positive.code: map_args(one_or_more, F, _D, A) ->
      L = lists:append(A),
      case length(L) of
      0 -> erlang:error(one_or_more);
      _ -> F(L)
      end;
  map_args(many, F, _D, A) -> F(lists:append(A));
  map_args(multiple, F, _D, A) -> F(A);
  map_args(N, F, _D, A) when is_function(F, N) ->
      L = lists:append(A),
      case length(L) of
      N -> apply(F, L);
      X -> erlang:error({wrong_number_of_args, X, N})
      end;
  map_args(N, F, _D, A) when is_function(F, 1) ->
      L = lists:append(A),
  
negative.code:                        [{report_dir, LogDir}|Options]
                 end,
      case rb:start(Options1) of
          {ok, _Pid} -> ok;
          {error, already_present} ->
                                                  % Can sometimes get wedged
              supervisor:delete_child(sasl_sup, rb_server),
              erlang:error(try_again);
          {error, Reason} ->
              erlang:error(Reason)
      end,
      case RegExp of
          [] -> rb:show();
          _ -> rb:grep(RegExp)
      end,
      catch rb:stop(),
      TempFile.
  