Designing with types: Making illegal states unrepresentable | Dark Hacker News