TypeScript techniques