What are the main benefits of using TypeScript over vanilla JavaScript in a large-scale, enterprise-level codebase?