anchor.diff:  -module(rebar_dialyzer_format).
   
  --export([format/1]).
  -
  +-export([format/1, bad_arg/2, seperate_args/1]).
   
   -define(NR, "\033[0;31m").
   -define(NG, "\033[0;32m").
  
positive.code:             case (ArgNs =:= []) orelse IsOverloaded of
                  true ->
                      %% We do not know which arguments caused the failure
                      fmt("~!Wbreaks the contract~!! ~s\n", [Contract]);
                  false ->
                      fmt("~!Wbreaks the contract~!! ~s ~!Win the~!!"
                             " ~s ~!Wargument\n",
                             [good_arg(ArgNs, Contract), PositionString])
              end;
          both ->
              fmt("~!Wwill never return since the success typing is "
  
negative.code: color_arg(N, C, Args) when is_integer(N) ->
      color_arg([N], C, Args);
  color_arg(Ns, C, Args) ->
      {Args1, Rest} =seperate_args(Args),
      Args2 = highlight(Ns, 1, C, Args1),
      join_args(Args2) ++ Rest.
  
  highlight([], _N, _C, Rest) ->
      Rest;
  