(Set Theoretical Types) Programming with union, intersection, and negation types [pdf] | Hacker News Reader