anchor.diff:        end
       end, {[init, terminate],[],[]}, TokenList),
     NewAllStateEdges = expand_allstates(AllStateEdges, ['"*"']),%States),
  -
     %io:format("~p~n", [NewAllStateEdges]),
     lists:foreach(fun(Vertex) ->
                     V = digraph:add_vertex(Graph),
                     digraph:add_vertex(Graph, V, Vertex)
                   end, lists:usort(['"*"'|States])),
     lists:foreach(fun(#edge{vertex1 = From, vertex2 = To, edge_data = Data}) ->
  -                  digraph:add_edge(Graph, get_vertex(Graph, From), get_vertex(Graph,To), Data)
  +                  digraph:add_edge(Graph, get_vertex(Graph, From), get_vertex(Graph,To), Data);
  +(_) -> ok
                   end, remove_dups(Edges ++ NewAllStateEdges)),
     {parsed, gen_fsm, Graph}.
   
  
positive.code:         {function, _, FnName, 2, Clauses} ->
            %io:format("CLAUSES ~w for ASYNC FUNCTION ~w~n", [Clauses, FnName]),
             case parse_function(Clauses, FnName, [async], gen_fsm) of
               {error, _Reason} ->
                 {OldNodes, OldEdges, OldAllStates};
               NewEdges ->
                {[FnName|OldNodes], OldEdges ++ NewEdges, OldAllStates}
  
negative.code:   %       io:format(">>> ~p~n", [E])
    %   end, FlatEdges),
  
    case lists:all(fun (El) -> {error, bad_transition} == El end, Edges) of
      false ->
        FlatEdges;
      true ->
  