anchor.diff:              case (ArgNs =:= []) orelse IsOverloaded of
                   true ->
                       %% We do not know which arguments caused the failure
  -                    format("breaks the contract ~s\n", [Contract]);
  +                    format(?BW "breaks the contract"?R" ~s\n", [Contract]);
                   false ->
  -                    format("breaks the contract ~s in the ~s argument\n",
  -                           [Contract, PositionString])
  +                    format(?BW "breaks the contract"?R" ~s "?BW"in the"?R
  +                           " ~s "?BW"argument\n",
  +                           [good_arg(ArgNs, Contract), PositionString])
               end;
           both ->
  -            format("will never return since the success typing is ~s -> ~s"
  -                   " and the contract is ~s\n", [SigArgs, SigRet, Contract])
  +            format(?BW "will never return since the success typing is "
  +                   ?R"~s "?BW"->"?R" ~s " ?BW"and the contract is "?R"~s\n",
  +                   [good_arg(ArgNs, SigArgs), SigRet,
  +                    good_arg(ArgNs, Contract)])
       end.
   
   form_positions(ArgNs) ->
  
positive.code: 
  join_args(Args) ->
      [$(, string:join(Args, ", "), $)].
  
negative.code:     format("Fun application will fail since ~s :: ~s"
             " is not a function of arity ~w\n", [Op, Type, Arity]);
  message_to_string({guard_fail, []}) ->
      ?BW "Clause guard cannot succeed.\n" ?R;
  message_to_string({guard_fail, [Arg1, Infix, Arg2]}) ->
      format("Guard test ~s ~s ~s can never succeed\n", [Arg1, Infix, Arg2]);
  message_to_string({neg_guard_fail, [Arg1, Infix, Arg2]}) ->
  