In this session, the video will clarify the math behind the name and discuss the meaning and use of all algebraic data types in C++17: pair, tuple, optional, and variant. The video will also demonstrate how to use std::optional for delayed initialization and how to substitute dynamic polymorphism with visitation over std::variant. Audience will leave the session with a newfound respect for the algebraic data types of C++.