anchor.diff:      fun(Str,O)->[unit(fun transform/1,Str)|O]end,[],
       [{"a",
         {{a,'_','_'},[{'_',[],[]}],[local]}}
  +     ,{"a",
  +       {{a,'_','_'},[{'_',[],[]}],[local]}}
        ,{"a->stack",
          {{a,'_','_'},[{'_',[],[{message,{process_dump}}]}],[local]}}
        ,{"a:b",
          {{a,b,'_'},[{'_',[],[]}],[local]}}
  -     ,{"a:b->return",
  -       {{a,b,'_'},[{'_',[],[{return_trace}]}],[local]}}
  +     ,{"a:b->return ",
  +       {{a,b,'_'},[{'_',[],[{exception_trace}]}],[local]}}
        ,{"a:b/2",
          {{a,b,2},[{['_','_'],[],[]}],[local]}}
        ,{"a:b/2->return",
  -       {{a,b,2},[{['_','_'],[],[{return_trace}]}],[local]}}
  +       {{a,b,2},[{['_','_'],[],[{exception_trace}]}],[local]}}
        ,{"a:b(X,Y)",
          {{a,b,2},[{['$1','$2'],[],[]}],[local]}}
        ,{"a:b(_,_)",
  
positive.code:         [local]}}
       ,{"a:b(X,X) -> return;stack",
         {{a,b,2},
          [{['$1','$1'],[],[{return_trace},{message,{process_dump}}]}],
          [local]}}
      ]).
  
  
negative.code:        {{a,b,2},[{['$1','$1'],[],[]}],[local]}}
       ,{"a:b(X,y)",
         {{a,b,2},[{['$1',y],[],[]}],[local]}}
       ,{" a:foo()when a==b",
         {{a,foo,0},[{[],[{'==',a,b}],[]}],[local]}}
       ,{"a:b(X,1)",
         {{a,b,2},[{['$1',1],[],[]}],[local]}}
       ,{"a:b(X,\"foo\")",
         {{a,b,2},[{['$1',"foo"],[],[]}],[local]}}
       ,{" a:foo when a==b",
         guards_without_args}
       ,{"a:b(X,y)when is_atom(Y)",
         unbound_variable}
       ,{"x:c([string])",
  