anchor.diff:          false -> DefaultVal;
           X -> element(2, X)
       end.
  +
  +-spec trace_fwd({trace, pid(), call | return_to, mfa()}, pid()) -> pid().
  +trace_fwd({trace, Pid, call, {Mod, Fun, Params}}, TopPid) ->
  +    TopPid ! {trace, Pid, {Mod, Fun, length(Params)}},
  +    TopPid;
  +trace_fwd({trace, Pid, return_to, {Mod, Fun, Arity}}, TopPid) ->
  +    TopPid ! {trace, Pid, {Mod, Fun, Arity}},
  +    TopPid.
  +
  
positive.code:     comm:send_local(Pid, {output_off}),
      comm:send_local(Pid, {stop_sampling}),
      InspectPid = pid_prompt(),
      comm:send_local(Pid, {enable_sampling, pid}),
      comm:send_local(Pid, {sample_pid, InspectPid}),
      comm:send_local(Pid, {enable_output, pid}),
      comm:send_local(Pid, {output_pid, InspectPid}),
      top_inspect_pid_interactive(Pid, InspectPid),
      comm:send_local(Pid, {enable_sampling, all}),
      comm:send_local(Pid, {sample_all}),
      comm:send_local(Pid, {enable_output, all}),
  
negative.code:     end.
  
  top_inspect_pid_interactive(TopPid, Pid) ->
      {ok, [Char]} = io:fread("> ", "~c"),
      Quit =
          case Char of
              "q" -> quit;
              "d" -> %% show dictionary
                  comm:send_local(TopPid, {output_off}),
                  comm:send_local(TopPid, {stop_sampling}),
                  print_process_dictionary(Pid),
                  io:get_chars("Hit return to continue> ", 1),
                  comm:send_local(TopPid, {enable_sampling, Pid}),
                  comm:send_local(TopPid, {sample_pid, Pid}),
                  comm:send_local(TopPid, {enable_output, pid}),
                  comm:send_local(TopPid, {output_pid, Pid}),
                  ok;
              "e" ->
                  comm:send_local(TopPid, {output_off}),
                  Expr = io:parse_erl_exprs('expr>'),
  