Our resolving logic considers anything with an implicit conversion to string to be a valid widening conversion in a comparison. For example:
int_col = '1a'
will effectively become cast(int_col as string) = '1a'
Or with timestamps:
timestamp_col = '1970-01-01'
becomes cast(timestamp_col as string) = '1970-01-01'
In equality cases the optimizer will infer that the predicate is simply false, but when used with greater/less than comparison we'll still attempt the query with the widening conversion.
This is most likely not the intent of the user. It would be best to provide an option that would allow an exception to be thrown rather than assuming a query that may not match the user's expectations.