anchor.diff:  
   actions_fun(Str) ->
     fun() ->
  -      string:tokens(Str,";,")
  +      Acts = string:tokens(Str,";,"),
  +      [exit({unknown_action,A}) || A <- Acts, not lists:member(A,acts())],
  +      Acts
     end.
  +
  +acts() ->
  +  ["stack","return","time","calls"].
   
   assert(Fun,Tag) ->
     try Fun()
     catch
       _:{this_is_too_confusing,C}  -> exit({syntax_error,{C,Tag}});
       _:{_,{error,{1,erl_parse,L}}}-> exit({syntax_error,{lists:flatten(L),Tag}});
  +    _:{unknown_action,A}         -> exit({syntax_error,{unknown_action,A}});
       _:R                          -> exit({R,Tag,erlang:get_stacktrace()})
     end.
   
  
positive.code:         {{x,c,1},
           [{['$1'],[{'==',['$1','$1'],{'++',['$1'],['$1']}}],[]}],
           [local]}})).
  
  unit({Str,MS}) ->
    try MS = transform(Str),true
    catch _:{MS,_} -> Str,true
    end.
  
negative.code:   ?assert(
       unit(
         {"x:y(z)->bla",
          syntax_error})).
  t28_test() ->
    ?assert(
       unit(
  