some progress
diff --git a/compiler/testData/codegen/box/arrays/vArrays/vArrayTypeChecks.kt b/compiler/testData/codegen/box/arrays/vArrays/vArrayTypeChecks.kt
index e58328c..1b52456 100644
--- a/compiler/testData/codegen/box/arrays/vArrays/vArrayTypeChecks.kt
+++ b/compiler/testData/codegen/box/arrays/vArrays/vArrayTypeChecks.kt
@@ -63,7 +63,7 @@
     VArrayType.U_LONG to ::isULongVArray
 )
 
-fun check(obj: Any?, expectedType: VArrayType): Boolean {
+fun isTypeExpected(obj: Any?, expectedType: VArrayType): Boolean {
     typeToСheckingFunc.forEach { (type, checkingFunc) ->
         if (type == expectedType && !checkingFunc(obj)) return false
         if (type != expectedType && checkingFunc(obj)) return false
@@ -71,6 +71,8 @@
     return true
 }
 
+fun isNoneOfTypes(obj: Any?) = typeToСheckingFunc.none { (type, checkingFunc) -> checkingFunc(obj) }
+
 
 @JvmInline
 value class IcInt(val x: Int)
@@ -106,27 +108,35 @@
     val uIntVArray = VArray<UInt>(1) { 0.toUInt() }
     val uLongVArray = VArray<ULong>(1) { 0.toULong() }
 
+    val arrayOfInt = Array<Int>(1) { 0 }
+    val arrayOfStr = Array<String>(1) { "a" }
+    val arrayOfIcInt = Array<IcInt>(1) { IcInt(0) }
 
-    if (!check(boolVArray, VArrayType.BOOL)) return "Fail 1"
-    if (!check(byteVArray, VArrayType.BYTE)) return "Fail 2"
-    if (!check(shortVArray, VArrayType.SHORT)) return "Fail 3"
-    if (!check(intVArray, VArrayType.INT)) return "Fail 4"
-    if (!check(longVArray, VArrayType.LONG)) return "Fail 5"
-    if (!check(floatVArray, VArrayType.FLOAT)) return "Fail 6"
-    if (!check(doubleVArray, VArrayType.DOUBLE)) return "Fail 7"
-    if (!check(charVArray, VArrayType.CHAR)) return "Fail 8"
 
-    if (!check(icIntVArray, VArrayType.IcInt)) return "Fail 9"
-    if (!check(strVArray, VArrayType.STRING)) return "Fail 10"
-    if (!check(icIcIntVArray, VArrayType.IcIcInt)) return "Fail 11"
-    if (!check(icStrVArray, VArrayType.IcStr)) return "Fail 12"
-    if (!check(double3dVArray, VArrayType.DOUBLE_3D)) return "Fail 13"
-    if (!check(str2dVArray, VArrayType.STR_2D)) return "Fail 14"
+    if (!isTypeExpected(boolVArray, VArrayType.BOOL)) return "Fail 1"
+    if (!isTypeExpected(byteVArray, VArrayType.BYTE)) return "Fail 2"
+    if (!isTypeExpected(shortVArray, VArrayType.SHORT)) return "Fail 3"
+    if (!isTypeExpected(intVArray, VArrayType.INT)) return "Fail 4"
+    if (!isTypeExpected(longVArray, VArrayType.LONG)) return "Fail 5"
+    if (!isTypeExpected(floatVArray, VArrayType.FLOAT)) return "Fail 6"
+    if (!isTypeExpected(doubleVArray, VArrayType.DOUBLE)) return "Fail 7"
+    if (!isTypeExpected(charVArray, VArrayType.CHAR)) return "Fail 8"
 
-    if (!check(uByteVArray, VArrayType.U_BYTE)) return "Fail 15"
-    if (!check(uShortVArray, VArrayType.U_SHORT)) return "Fail 16"
-    if (!check(uIntVArray, VArrayType.U_INT)) return "Fail 17"
-    if (!check(uLongVArray, VArrayType.U_LONG)) return "Fail 18"
+    if (!isTypeExpected(icIntVArray, VArrayType.IcInt)) return "Fail 9"
+    if (!isTypeExpected(strVArray, VArrayType.STRING)) return "Fail 10"
+    if (!isTypeExpected(icIcIntVArray, VArrayType.IcIcInt)) return "Fail 11"
+    if (!isTypeExpected(icStrVArray, VArrayType.IcStr)) return "Fail 12"
+    if (!isTypeExpected(double3dVArray, VArrayType.DOUBLE_3D)) return "Fail 13"
+    if (!isTypeExpected(str2dVArray, VArrayType.STR_2D)) return "Fail 14"
+
+    if (!isTypeExpected(uByteVArray, VArrayType.U_BYTE)) return "Fail 15"
+    if (!isTypeExpected(uShortVArray, VArrayType.U_SHORT)) return "Fail 16"
+    if (!isTypeExpected(uIntVArray, VArrayType.U_INT)) return "Fail 17"
+    if (!isTypeExpected(uLongVArray, VArrayType.U_LONG)) return "Fail 18"
+
+    if (!isNoneOfTypes(arrayOfInt)) return "Fail 19"
+    if (!isNoneOfTypes(arrayOfStr)) return "Fail 20"
+    if (!isNoneOfTypes(arrayOfIcInt)) return "Fail 21"
 
     return "OK"
 }