Free-types: Higher kinded types in TypeScript | Dark Hacker News