anchor.diff:      format("The call ~w:~w~s ~s\n", [M, F, Args, Reason]);
   %%----- Warnings for behaviour errors --------------------
   message_to_string({callback_type_mismatch, [B, F, A, ST, CT]}) ->
  -    format("The inferred return type of ~w/~w (~s) has nothing in common"
  -           " with ~s, which is the expected return type for the callback of"
  -           " ~w behaviour\n", [F, A, ST, CT, B]);
  +    format(?BW"The inferred return type of"?R" ~w/~w (~s) "?BW
  +           "has nothing in common with"?R" ~s, "?BW"which is the expected"
  +           " return type for the callback of"?R" ~w "?BW"behaviour\n",
  +           [F, A, ST, CT, B]);
   message_to_string({callback_arg_type_mismatch, [B, F, A, N, ST, CT]}) ->
  -    format("The inferred type for the ~s argument of ~w/~w (~s) is"
  -           " not a supertype of ~s, which is expected type for this"
  -           " argument in the callback of the ~w behaviour\n",
  +    format(?BW"The inferred type for the"?R" ~s "?BW"argument of"?R
  +           " ~w/~w (~s) "?BW"is not a supertype of"?R" ~s"?BW", which is"
  +           "expected type for this argument in the callback of the"?R" ~w "
  +           ?BW"behaviour\n",
              [ordinal(N), F, A, ST, CT, B]);
   message_to_string({callback_spec_type_mismatch, [B, F, A, ST, CT]}) ->
       format("The return type ~s in the specification of ~w/~w is not a"
  
positive.code:             case (ArgNs =:= []) orelse IsOverloaded of
                  true ->
                      %% We do not know which arguments caused the failure
                      format("breaks the contract ~s\n", [Contract]);
                  false ->
                      format("breaks the contract ~s in the ~s argument\n",
                             [Contract, PositionString])
              end;
          both ->
              format("will never return since the success typing is ~s -> ~s"
                     " and the contract is ~s\n", [SigArgs, SigRet, Contract])
      end.
  
  form_positions(ArgNs) ->
  
negative.code:             basename -> filename:basename(File)
          end,
      String = lists:flatten(message_to_string(Msg)),
      lists:flatten(format("~s:~w~n~s", [F, Line, String])).
  
  
  %%-----------------------------------------------------------------------------
  