5 advanced TypeScript tips for the busy developer