SymbolFiles should own Types by keeping them in their TypeList. This patch privates the Type constructor to guarantee that every created Type is kept in the SymbolFile's type list.