Practical introduction to algebraic datatypes (ADTs) in TypeScript | Dark Hacker News