C++14 experimental::optional<> support added