Through blood sweat and tears, C++ 17 adds a standard variant class, accompanying tuple, optional, and any. This video goes through what variant is, how it works, and how you might use it in your own projects.
Thanks to Alex K for his help in reviewing the video. Check out his own usage of variants in a toy JSON parsing library:
https://github.com/KholdStare/qnd-json