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: seperate_args([], [$, | R], Arg, Args) ->
      seperate_args([], R, [], [lists:reverse(Arg) | Args]);
  
  seperate_args([], [$)], Arg, Args) ->
      lists:reverse([lists:reverse(Arg) | Args]);
  seperate_args([C | D], [C | R], Arg, Args) ->
      seperate_args(D, R, [C | Arg], Args);
  %% Brackets
  
negative.code:             case (ArgNs =:= []) orelse IsOverloaded of
                  true ->
                      %% We do not know which arguments caused the failure
                      fmt("~!Wbreaks the contract~!! ~s\n", [good_arg(ArgNs, 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 "
  