... reported before the final, "My work here is done!" The reason is that as it stands, print doesn't output the value for any types other than those it was originally designed for (std::string, ... signature of a variant, we would risk proliferation of overloads to accommodate the same functionality for different types of variants. The next section discusses the concept of visiting variants, and ... example, let's alter the types that the variant can contain, and call print with the char value for the variant, too. int main() { boost::variant<int,std::string,double,char> my_first_variant("Hello...