I have a dumb question about the use of std_move. In 
BlockIO InterpreterInsertQuery::execute(): ln 312

https://github.com/ClickHouse/ClickHouse/blob/8ede5c736a6744f8daa6301d63697b8d4864725d/src/Interpreters/InterpreterInsertQuery.cpp#L310-L313

can this code block just written as 

```cpp
out_wrapper->setProcessListElement(context.getProcessListElement());
out_streams.emplace_back(std::move(out_wrapper););
```
or any specific reason?
#include <IO/ConnectionTimeoutsContext.h>
#include <Interpreters/InterpreterSelectWithUnionQuery.h>
#include <Interpreters/InterpreterWatchQuery.h>
#include <Parsers/ASTFunction.h>
#include <Parsers/ASTInsertQuery.h>
#include <Parsers/ASTSelectQuery.h>
#include <Parsers/ASTSelectWithUnionQuery.h>
#include <Parsers/ASTTablesInSelectQuery.h>
#include <Processors/Sources/SinkToOutputStream.h>
#include <Processors/Sources/SourceFromInputStream.h>
#include <Processors/Transforms/ExpressionTransform.h>
#include <Storages/StorageDistributed.h>
#include <Storages/StorageMaterializedView.h>
#include <TableFunctions/TableFunctionFactory.h>
#include <Common/checkStackSize.h>
#include <Interpreters/QueryLog.h>
#include <Interpreters/TranslateQualifiedNamesVisitor.h>
#include <Interpreters/getTableExpressions.h>
#include <Interpreters/processColumnTransformers.h>
#include <DataTypes/DataTypeNullable.h>
#include <Columns/ColumnNullable.h>
namespace DB
{
namespace ErrorCodes
{
    extern const int NO_SUCH_COLUMN_IN_TABLE;
    extern const int ILLEGAL_COLUMN;
    extern const int DUPLICATE_COLUMN;
}
InterpreterInsertQuery::InterpreterInsertQuery(