anchor.diff:    [ac_fun(A)|| A <- As].
   
   ac_fun("stack") -> {message,{process_dump}};
  -ac_fun("return")-> {return_trace}.
  +ac_fun("return")-> {return_trace};
  +ac_fun(X)       -> exit({unknown_action,X}).
   
   compile_guards(Gs,Vars) ->
     {Vars,O} = lists:foldr(fun gd_fun/2,{Vars,[]},Gs),
  
positive.code:   try MS=Method(Str),Str
    catch 
      _:{MS,_} -> Str;
      _:{_,MS} -> Str;
      C:R      -> {C,R,Str,erlang:get_stacktrace()}
    end.
  
negative.code:      ,{"a:b(X,y)when is_atom(Y)",
         unbound_variable}
       ,{"x:c([string])",
         {syntax_error,"lists not allowed in arg list"}}
       ,{"x(s)",
         this_is_too_confusing}
       ,{"x:c(S)when S==x;S==y",
         {syntax_error,"syntax error before: S"}}
       ,{"x:y(z)->bla",
         unknown_action}
       ,{"a:b(X,y)when not is_atom(X)",
         [{{a,b,2},{['$1',y],[{'not',{is_atom,'$1'}}],[]}}]}
       ,{"a:b(X,y)when not is_atom(X) -> return",
  