Using C++ template parameters to create strong types | Hacker News Reader