anchor.diff:    %       io:format(">>> ~p~n", [E])
     %   end, FlatEdges),
   
  -  case lists:any(fun (El) -> {error, bad_transition} == El end, Edges) of
  +  case lists:all(fun (El) -> {error, bad_transition} == El end, Edges) of
       false ->
         FlatEdges;
       true ->
  
positive.code:       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)
                  end, remove_dups(Edges ++ NewAllStateEdges)),
    {parsed, gen_fsm, Graph}.
  
  
negative.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}
  