Breaking Circular Dependencies in Recursive Union Types with C++17

  • On one hand, this is neat, and it ticks boxes in my C++-programming heart.

    On the other hand, it's frankly embarrassing that this is what needs to be done to implement a trivial data structure with the ability to print its value to a terminal.

    After 60 years of computing, this is where we're at?