fun funWithoutArgs(): Int { return Any().hashCode().toInt() } fun funWithAnyArg(value_1: Any): Int { return value_1.hashCode() } fun select(vararg x: K): K = x[0] fun expandInv(vararg x: Inv): K = x[0] as K fun expandIn(vararg x: In): K = x[0] as K fun expandOut(vararg x: Out): K = x[0] as K fun expandInvWithRemoveNullable(vararg x: Inv): K = x[0] as K fun expandInWithRemoveNullable(vararg x: In): K = x[0] as K fun expandOutWithRemoveNullable(vararg x: Out): K = x[0] as K fun removeNullable(vararg x: K?): K = x as K fun T.funT() = 10 fun T?.funNullableT() = 10 fun Any.funAny() = 10 fun Any?.funNullableAny() = 10 fun funNothingQuest() = null