How ChiselStrike generates its TypeScript client API | Hacker News Reader