Always reproduced:

```
milovidov-desktop :) create table table_map (a Map(String, String), b String) engine = MergeTree() order by a;

CREATE TABLE table_map
(
    `a` Map(String, String),
    `b` String
)
ENGINE = MergeTree
ORDER BY a

Query id: 8f8120c1-c165-452a-815f-2bcae3957e2a

Ok.

0 rows in set. Elapsed: 0.002 sec. 

milovidov-desktop :) SELECT b FROM table_map WHERE a = map('name', NULL, '', NULL)

SELECT b
FROM table_map
WHERE a = {'name', NULL, '', NULL}
```
case TypeIndex::FixedString:
                return createFixedStringWrapper(from_type, checkAndGetDataType<DataTypeFixedString>(to_type.get())->getN());
            case TypeIndex::Array:
                return createArrayWrapper(from_type, checkAndGetDataType<DataTypeArray>(to_type.get()));
            case TypeIndex::Tuple:
                return createTupleWrapper(from_type, checkAndGetDataType<DataTypeTuple>(to_type.get()));
            case TypeIndex::Map:
                return createMapWrapper(from_type, checkAndGetDataType<DataTypeMap>(to_type.get()));
            case TypeIndex::AggregateFunction:
                return createAggregateFunctionWrapper(from_type, checkAndGetDataType<DataTypeAggregateFunction>(to_type.get()));
            default:
                break;
        }
        if (cast_type == CastType::accurateOrNull)
            return createToNullableColumnWrapper();
        else
            throw Exception{"Conversion from " + from_type->getName() + " to " + to_type->getName() + " is not supported",
                ErrorCodes::CANNOT_CONVERT_TYPE};
    }
};
class MonotonicityHelper
{
public:
    using MonotonicityForRange = FunctionCast::MonotonicityForRange;
    template <typename DataType>
    static auto monotonicityForType(const DataType * const)
    {
        return FunctionTo<DataType>::Type::Monotonic::get;
    }
    static MonotonicityForRange getMonotonicityInformation(const DataTypePtr & from_type, const IDataType * to_type)