Type Systems: Refinements explained | Hacker News Reader