I expect it should work:
```
:) select CAST(CAST('{"x" : 1}', 'Object(\'json\')'), 'Object(Nullable(\'json\'))')

SELECT CAST(CAST('{"x" : 1}', 'Object(\'json\')'), 'Object(Nullable(\'json\'))')

Query id: fb057b45-b72a-4d22-9b38-a3136cdf2465


0 rows in set. Elapsed: 0.002 sec.

Received exception from server (version 22.5.1):
Code: 53. DB::Exception: Received from localhost:9000. DB::Exception: Cast to Object can be performed only from flatten named Tuple, Map or String. Got: Object('json'): While processing CAST(CAST('{"x" : 1}', 'Object(\'json\')'), 'Object(Nullable(\'json\'))'). (TYPE_MISMATCH)
```

@CurtizJ what do you think?
return { .is_monotonic = true, .is_always_monotonic = true };
            
            if (left_in_first_half == right_in_first_half)
                return { .is_monotonic = true };
            return {};
        }
        
        if (size_of_from > size_of_to)
        {
            
            if (left.isNull() || right.isNull())
                return {};
            
            if (divideByRangeOfType(left.get<UInt64>()) != divideByRangeOfType(right.get<UInt64>()))
                return {};
            if (to_is_unsigned)
                return { .is_monotonic = true };
            else
            {
                
                const bool is_monotonic = (T(left.get<UInt64>()) >= 0) == (T(right.get<UInt64>()) >= 0);
                return { .is_monotonic = is_monotonic };
            }
        }
        __builtin_unreachable();
    }
};
struct ToDateMonotonicity
{
    static bool has() { return true; }