On Tuesday, July 4, 2023, Frederick Virchanza Gotham wrote:
 Well maybe they could all be static functions instead of member functions. 


Or another possibility:

You must use 'std::direct' to access the holder object. For example:

    std::optional_direct<T> obj;

    std::direct(obj).emplace("monkey", 5);