Why sum and product types? | Hacker News Reader