Description
In ArrayContains, we currently cast the right hand side expression to match the element type of the left hand side Array. This may result in down casting and may return wrong result or questionable result.
Example :
spark-sql> select array_position(array(1), 1.34);
true
spark-sql> select array_position(array(1), 'foo'); null