anchor.diff:      fail(Failure).
   
   fail({assert,File,Line,Message}) ->
  -    io:format(user, "Assertion FAILED ~p:~p, pid ~w exiting: ~p~n",
  +    debug_format(user, "Assertion FAILED ~p:~p, pid ~w exiting: ~p~n",
                 [File, Line, self(), Message]),
       erlang:error(assertion_failed);
   fail({alert,File,Line,Message}) ->
  -    io:format(user, "Assert WARNING ~p:~p, pid ~w: ~p~n",
  +    debug_format(user, "Assert WARNING ~p:~p, pid ~w: ~p~n",
                 [File, Line, self(), Message]),
       ok;
   fail({{debug,Fstr}, File,Line,Fmt, Args}) ->
  
positive.code:                           [Fstr, node(), filename:basename(File),
                             Line, self()])),
  
      case (catch io:format(user, Str ++ Fmt ++ "~n", Args)) of
          ok -> ok;
          _ -> io:format(user, "ERROR ~p:~p: Pid ~w: (bad format)~n~p,~p~n",
                         [File, Line, self(), Fmt, Args]),
  
               ok
      end;
  
  fail({format, File,Line,Fmt,Args}) ->
      case (catch io:format(user, Fmt,Args)) of
          ok -> ok;
          _ ->
              io:format(user, "ERROR ~p:~p: Pid ~w: (bad format)~n~p,~p~n",
                        [File, Line, self(), Fmt, Args]),
  
              ok
      end.
  
  format(F, A) ->
      format(get(gc), F, A).
  format(GC, F, A) ->
      case ?gc_has_debug(GC) of
          true ->
              io:format("yaws:" ++ F, A);
          false ->
              ok
      end.
  
negative.code: typecheck([{int, Int} |Tail], File, Line) when is_integer(Int) ->
      typecheck(Tail, File, Line);
  typecheck([Err|_], File, Line) ->
      debug_format(user, "TC ERROR ~s:~w:~n~p",
                [File, Line, Err]),
      erlang:error(tcerr);
  typecheck([], _,_) ->
  