package main open class SimpleInvariant { } open class NestedInvariant : SimpleInvariant>() { } class NestedCovariant : SimpleInvariant>() { } class NestedContravariant : SimpleInvariant>() { } class DoubleInherit : NestedInvariant() { } fun user( p1: SimpleInvariant, p2: SimpleInvariant, p3: SimpleInvariant, p4: SimpleInvariant<*>, p5: NestedInvariant, p6: NestedInvariant, p7: NestedInvariant, p8: NestedInvariant<*>, p9: NestedCovariant, p10: NestedCovariant, p11: NestedCovariant, p12: NestedCovariant<*>, p13: NestedContravariant, p14: NestedContravariant, p15: NestedContravariant, p16: NestedContravariant<*>, p17: DoubleInherit, p18: DoubleInherit, p19: DoubleInherit, p20: DoubleInherit<*> ) { }