anchor.diff:  
   ms(MS) -> foldl(fun msf/2, [{'_',[],[]}], MS).
   
  -msf(stack, [{Head,Cond,Body}]) -> [{Head,Cond,[{message,{process_dump}}|Body]}];
  -msf(return, [{Head,Cond,Body}]) -> [{Head,Cond,[{return_trace}|Body]}];
  +msf(stack,[{Head,Cond,Body}]) -> [{Head,Cond,[{message,{process_dump}}|Body]}];
  +msf(return,[{Head,Cond,Body}])-> [{Head,Cond,[{return_trace}|Body]}];
  +msf(Ari, [{_,Cond,Body}]) when is_integer(Ari)-> [{mk_head(Ari),Cond,Body}];
   msf(Head, [{_,Cond,Body}]) when is_tuple(Head)-> [{Head,Cond,Body}];
   msf(X,_) -> exit({bad_match_spec,X}).
  +
  +mk_head(N) -> erlang:make_tuple(N,'_').
   
   ass_list(L) when is_list(L) -> usort(L);
   ass_list(X) -> [X].
  
positive.code: pack(Cnf) ->
    {Flags,RTPs} = foldl(fun chk_trc/2,{[],[]},ass_list(Cnf#cnf.trc)),
    dict:from_list([{time,chk_time(Cnf#cnf.time)},
                    {flags,[call,timestamp|Flags]},
                    {rtps,RTPs},
                    {procs,chk_proc(Cnf#cnf.proc)},
                    {where,where(Cnf)}]).
  
negative.code:            , "Proc: 'all'|pid()|atom(Regname)|{'pid',I2,I3}"
             , "Targ: node()"
             , "RMSs: (restricted match specs): list(RMS)"
             , "RMS: 'stack'|'return'|integer(Arity)|tuple(ArgDescriptor)"
             , "ArgDescriptor: '_'|literal()"
             , ""
             , "Opts: list({Opt,Val})"
  