~~ Remove special approximation condition of captured types in type arguments
diff --git a/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt b/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt
index bce02d6..8f91bbb 100644
--- a/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt
+++ b/compiler/resolution.common/src/org/jetbrains/kotlin/types/AbstractTypeApproximator.kt
@@ -542,13 +542,13 @@
                      * Note that for case Inv<C> we will chose Inv<in Int>, because it is more informative then Inv<out Any?>.
                      * May be we should do the same for deeper types, but not now.
                      */
-                    if (argumentType.typeConstructor().isCapturedTypeConstructor()) {
-                        val subType = approximateToSubType(argumentType, conf, depth) ?: continue@loop
-                        if (shouldUseSubTypeForCapturedArgument(subType, argumentType, conf, depth)) {
-                            newArguments[index] = createTypeArgument(subType, TypeVariance.IN)
-                            continue@loop
-                        }
-                    }
+//                    if (argumentType.typeConstructor().isCapturedTypeConstructor()) {
+//                        val subType = approximateToSubType(argumentType, conf, depth) ?: continue@loop
+//                        if (shouldUseSubTypeForCapturedArgument(subType, argumentType, conf, depth)) {
+//                            newArguments[index] = createTypeArgument(subType, TypeVariance.IN)
+//                            continue@loop
+//                        }
+//                    }
 
                     val approximatedSuperType =
                         approximateToSuperType(argumentType, conf, depth) ?: continue@loop // null means that this type we can leave as is