anchor.diff:       ,{"lists:reverse(\"ab\"++C)when 3<length(C)",
          {{lists,reverse,1},
           [{[[97,98|'$1']],[{'<',3,{length,'$1'}}],[]}],
  -        [local]}}       
  +        [local]}}
        ,{"a:b([$a,$b|C])",
          {{a,b,1},[{[[97,98|'$1']],[],[]}],
  +        [local]}}
  +     ,{"a:_(a)",
  +       {{a,'_',1},[{[a],[],[]}],
           [local]}}
       ]).
   
   unit(Method,{Str,MS}) ->
     try MS=Method(Str),Str
     catch
  -    _:{MS,_,_} -> Str;
  -    _:{MS,_}   -> Str;
  -    C:R        -> {C,R,Str,erlang:get_stacktrace()}
  -  end.
  +    _:{MS,_}       -> Str;
  +    _:{{MS,_},_,_} -> Str;
  +    C:R            -> {C,R,Str,erlang:get_stacktrace()}
  +  end.
  
positive.code:           {M,F,Ari};
          {ok,[{call,1,{remote,1,{atom,1,M},{atom,1,F}},Args}]} ->
            {M,F,[arg(A) || A<-Args]};
          {ok,[{remote,1,{atom,1,M},{atom,1,F}}]} ->
            {M,F,'_'};
          {ok,_} ->
            exit(this_is_too_confusing)
       end
    end.
  
  
negative.code: %% transforms a string to a call trace expression;
  %% {MFA,MatchSpec} == {{M,F,A},{Head,Cond,Body}}
  
  
  -module('redbug_msc').
  -author('Mats Cronqvist').
  