TypeScript pitfalls