anchor.diff:  	  ArgNames = [erl_types:t_var_name(X) || X <- ArgTypes],
   	  dict:store({TypeOrOpaque, Name}, {Module, TypeForm, ArgNames}, RecDict);
   	false ->
  -	  throw({error, io_lib:format("Type declaration for ~w does not "
  -				      "have variables as parameters", [Name])})
  +	  throw({error, flat_format("Type declaration for ~w does not "
  +				    "have variables as parameters", [Name])})
         end
     end.
   
  
positive.code:       get_spec_info(Left, NewSpecDict, RecordsDict, ModName, File);
      {ok, {{OtherFile, L},_C}} ->
        {Mod, Fun, Arity} = MFA,
        Msg = io_lib:format("  Contract for function ~w:~w/~w "
  			  "already defined in ~s:~w\n",
  			  [Mod, Fun, Arity, OtherFile, L]),
        throw({error, Msg})
    catch
      throw:{error, Error} ->
        {error, lists:flatten(io_lib:format("  Error while parsing contract "
  					  "in line ~w: ~s\n", [Ln, Error]))}
    end;
  get_spec_info([{attribute, _, file, {IncludeFile, _}}|Left],
  	      SpecDict, RecordsDict, ModName, _File) ->
  
negative.code:   "fun(" ++ Sig = lists:flatten(erl_types:t_to_string(Type, RecDict)),
    ")" ++ RevSig = lists:reverse(Sig),
    lists:reverse(RevSig).
  
  flat_format(Fmt, Lst) ->
    lists:flatten(io_lib:format(Fmt, Lst)).
  
  %%-------------------------------------------------------------------
  %% Author      : Per Gustafsson <pergu@it.uu.se>
  