Boost::variant vs. polymorphism, very different results with clang and gcc · HackerTrans