Boost::variant vs. polymorphism, very different results with clang and gcc | Hacker News Reader