Why sum and product types? | Dark Hacker News