Type-madness, Part 1: Enforcing simple constraints with types in C++ | Hacker News Reader