Reducing TypeScript type duplication with shared fields | Hacker News Reader