C++ 2021 std::optional and non-POD C++ types 2014 Leveraging Zero-Cost Abstractions in C++: Variadic Templates