anchor.diff:              lists:reverse(MidExtendOut)
       end,
       Type = type_path_to_type(TypePath),
  -    resolve_types (Tail, AllPaths, Enums, [{Type, lists:reverse (FieldsOut), ExtendedOut } | Acc]);
  -resolve_types ([], _, _, Acc) ->
  +    resolve_types(Tail, AllPaths, Enums, [{Type, lists:reverse(FieldsOut), ExtendedOut } | Acc]);
  +resolve_types([], _, _, Acc) ->
       Acc.
   
   %% @hidden
  
positive.code:     [[Name], [Name, Package]].
  
  %% @hidden
  resolve_types (Data, Enums) -> resolve_types (Data, Data, Enums, []).
  resolve_types ([{TypePath, Fields,Extended} | Tail], AllPaths, Enums, Acc) ->
      FolderFun = fun (Input, TmpAcc) ->
  			  case Input of
  			      {Index, Rules, Type, Identifier, Other} ->
  				  case is_scalar_type (Type) of
  				      true -> [Input | TmpAcc];
  				      false ->
  					  PossiblePaths =
  					      case string:tokens (Type,".") of
  						  [Type] ->
  						      all_possible_type_paths (Type, TypePath);
  						  FullPath ->
  						% handle types of the form Foo.Bar which are absolute,
  						% so we just convert to a type path and check it.
  						      [lists:reverse (FullPath)]
  					      end,
  					  RealPath =
  					      case find_type (PossiblePaths, AllPaths) of
  						  false ->
  						      case is_enum_type(Type, PossiblePaths, Enums) of
  							  {true,EnumType} ->
  							      [EnumType];
  							  false ->
  							      throw (["Unknown Type ", Type])
  						      end;
  						  ResultType ->
  						      ResultType
  
negative.code: 	    SrcFile = filename:join(SrcPath,Basename) ++ ".erl"
      end,
      error_logger:info_msg("Writing src file to ~p~n",[SrcFile]),
      protobuffs_file:write_file(SrcFile, erl_prettypr:format(erl_syntax:form_list(Forms1))).
  
  %% @hidden
  parse_file(FileName) ->
  