Breaking Circular Dependencies in Recursive Union Types with C++17 | Hacker News Reader