```
$ ~/arc/build/clickhouse/programs/clickhouse client
ClickHouse client version 21.2.1.1-arcadia.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.2.1 revision 54447.

max42-dev.sas.yp-c.yandex.net :) create table t(a Tuple(UInt8, UInt8)) engine = Log()

CREATE TABLE t
(
    `a` Tuple(UInt8, UInt8)
)
ENGINE = Log

Query id: b49dbb5d-d2a9-4c99-b90e-00c60edf2103

Ok.

0 rows in set. Elapsed: 0.005 sec. 

max42-dev.sas.yp-c.yandex.net :) insert into t values ((NULL, 42))

INSERT INTO t VALUES

Query id: 318d6f3e-f3bc-467c-85ff-62da908230dd

Logical error: 'Unexpected literal type inside Array: Nothing. It's a bug'.
Aborted (core dumped)
```

This is CH similar to one from Arcadia r7788360 (~fresh master version from GH).

(you don't have to strictly follow this form)

const FormatSettings & format_settings_)
        : IInputFormat(header_, buf), buf(in_), params(params_),
          format_settings(format_settings_), num_columns(header_.columns()),
          parser_type_for_column(num_columns, ParserType::Streaming),
          attempts_to_deduce_template(num_columns), attempts_to_deduce_template_cached(num_columns),
          rows_parsed_using_template(num_columns), templates(num_columns), types(header_.getDataTypes())
{
}
Chunk ValuesBlockInputFormat::generate()
{
    if (total_rows == 0)
        readPrefix();
    const Block & header = getPort().getHeader();
    MutableColumns columns = header.cloneEmptyColumns();
    block_missing_values.clear();
    for (size_t rows_in_block = 0; rows_in_block < params.max_block_size; ++rows_in_block)
    {
        try
        {
            skipWhitespaceIfAny(buf);
            if (buf.eof() || *buf.position() == ';')
                break;
            readRow(columns, rows_in_block);