Fix when passing array types to ContainsOr or ContainsAnd

Previously it would try to invoke Enumerable.Contains<T> using only the generic type arguments of the enumerable type passed. Arrays however do not have generic type parameters and instead have element types. This would result in calling Enumerable.Contains() as a non-generic method, which would fail.