Functional programming at the type level in TypeScript | Dark Hacker News