It would be good if std::optional<T> were used in projects that use C++2017. A define like that which is available in boost.dll 1.70 would suffice in my opinion.