TypeScript for JavaScript Developers by Refactoring Part 2 of 2