Revert "Reordered type processing to allow alteration of previously defined types."

This reverts commit 0d3ec4439ff417ba6e14fb41feaddc7e6e7d8152.
Revert "Revert "Reordered type processing to allow alteration of previously defined types.""

This reverts commit c2c0f42b0fb9ab32537a6e6774a9b50555177f43.