anchor.diff:      ?MODULE:apply("stacks.out", M, F, A).
   
   apply(OutputFile, M, F, A) ->
  -    Tracer = spawn(fun() -> fprof_dump_listener(dict:new()) end),
  -    fprof:apply(M, F, A, [{tracer, Tracer}]),
  +    Tracer = spawn(fun() -> trace_listener(dict:new()) end),
  +
  +    MatchSpec = [{'_', [], [{message, {{cp, {caller}}}}]}],
  +    erlang:trace_pattern(on_load, MatchSpec, [local]),
  +    erlang:trace_pattern({'_', '_', '_'}, MatchSpec, [local]),
  +    erlang:trace(self(), true, [{tracer, Tracer} | trace_flags(normal_with_children)]),
  +    erlang:apply(M, F, A),
  +    erlang:trace(self(), false, [all]),
   
       Tracer ! {dump, self()},
       PS = receive
  
positive.code:     ok = file:write_file(OutputFile, Bytes),
      PS.
  
  fprof_dump_listener(State) ->
      receive
          {dump, Pid} ->
              Pid ! {stacks, dict:to_list(State)};
  
negative.code:                 error -> #dump{}
              end,
  
              NewPidState = trace_proc_stream(Term, PidState),
  
              D1 = dict:erase(PidS, State),
              D2 = dict:append(PidS, NewPidState, D1),
              trace_listener(D2)
      end.
  
  us({Mega, Secs, Micro}) ->
  