Внедрить экспериментальное пространство имен в std

Это плохо или хорошо parctice, чтобы ввести пространство именstd::experimental вstd как следующий?

namespace std
{
namespace experimental
{
}
using namespace experimental;    
}

#include <experimental/optional>

int main()
{
    std::optional< int > o;
    return 0;
}

Или даже в более современной форме:

#if __has_include(<optional>)
# include <optional>
#elif __has_include(<experimental/optional>)
# include <experimental/optional>
namespace std
{
using namespace experimental;    
}
#else
#error !
#endif

int main()
{
    std::optional< int > o;
    return 0;
}

Намерение представитьstd::experimental&nbsp;"под-пространство имен" ясно, потому чтоstd::experimental&nbsp;в настоящее время содержитмножествоновый&nbsp;библиотеки, Я думаю, что очень вероятно, что все они будут мигрировать вnamespace std&nbsp;без каких-либо существенных изменений и написанного в настоящее время кода пользователя на это можно положиться (я совершенно не прав?). В противном случае весь этот код должен быть изменен, чтобы изменитьstd::experimental::&nbsp;вstd::&nbsp;в будущем. Это не большое дело, но могут быть причины не делать этого.

Вопрос касается как производственного кода, так и не слишком серьезного кода.