Use std::decay before making optionals from function results