anchor.diff:      [erlang:trace(PidSpec, true, [call, {tracer, Pid} | TraceOpts])
        || PidSpec <- PidSpecs],
       lists:sum(Matches).
  +
  +
  +%%%%%%%%%%%%%%%%%%
  +%%% VALIDATION %%%
  +%%%%%%%%%%%%%%%%%%
   
   validate_opts(Opts) ->
       PidSpecs = validate_pid_specs(proplists:get_value(pid, Opts, all)),
  
positive.code: -type max()  :: max_traces() | max_rate().
  -type num_matches() :: non_neg_integer().
  
  -spec clear() -> num_matches().
  clear() ->
      erlang:trace(all, false, [all]),
      erlang:trace_pattern({'_','_','_'}, false, [local,meta,call_count,call_time]),
      erlang:trace_pattern({'_','_','_'}, false, []). % unsets global
  
  -spec calls(mod(), fn(), args(), max()) -> num_matches().
  calls(Mod, Fun, Args, Max) ->
      calls([{Mod,Fun,Args}], Max, []).
  
  -spec calls(mod(), fn(), args(), max(), options()) -> num_matches().
  calls(Mod, Fun, Args, Max, Opts) ->
      calls([{Mod,Fun,Args}], Max, Opts).
  
  -spec calls(mfa(), max()) -> num_matches().
  calls({Mod, Fun, Args}, Max) ->
      calls([{Mod,Fun,Args}], Max, []).
  
  -spec calls(mfa() | [mfa(),...], max(), options()) -> num_matches().
  calls({Mod, Fun, Args}, Max, Opts) ->
      calls([{Mod,Fun,Args}], Max,Opts);
  
negative.code:         _ when Args >= 0, Args =< 255 -> {Args, true}
      end.
  
  %%%%%%%%%%%%%%%%%%%%%%%%
  %%% TRACE FORMATTING %%%
  %%%%%%%%%%%%%%%%%%%%%%%%
  %% Thanks Geoff Cant for the foundations for this.
  format(TraceMsg) ->
      {Type, Pid, {Hour,Min,Sec}, TraceInfo} = extract_info(TraceMsg),
      {FormatStr, FormatArgs} = case {Type, TraceInfo} of
  