anchor.diff:      NFunc = check_types_functions(Functions, NNTypes),
       {{NFunc, Typedefs, NStructs}, NNTypes}.
   
  --spec check_type(term(), term()) -> term().
  +-spec check_type(ctype(), type_table()) -> boolean().
   check_type(Type, Types) ->
       case dict:is_key(Type, Types) of
   	true ->
  
positive.code: 	    undef
      end.
  
  %% @doc removes all non-resolvable types from the typetable and depending structs or functions and returns 
  %% the filtered type information
  -spec check_types({dict:dict(), dict:dict(), dict:dict()}, dict:dict()) -> {{dict:dict(), dict:dict(), dict:dict()}, dict:dict()}.
  check_types(Defs, Types) ->
      {NDefs, NTypes} = check_types_once(Defs, Types),
      case length(dict:fetch_keys(Types)) =:= length(dict:fetch_keys(NTypes)) of
  
negative.code: 		    false; %% loop
  		{userdef, [T]} ->
  		    %% constructor or dead end
  		    case Type =:= T of
  			true ->
  			    false; %% loop - typedef with same name as constructor/no constructor available
  			false ->
  			    check_type(T, Types)
  		    end;
  		{userdef, [H|_]} ->
  