Designing type-safe sync/async mode support in TypeScript | Hacker News Reader