package public fun test(/*0*/ k: K): kotlin.Unit public interface Fn { public abstract fun apply(/*0*/ t: T!): R! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Fn2 : Fn { public abstract override /*1*/ /*fake_override*/ fun apply(/*0*/ t: T!): R! public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface K { public abstract fun bar(/*0*/ f: Fn2): kotlin.Int public abstract fun bar(/*0*/ f: Fn): kotlin.String public abstract fun bas(/*0*/ f: Fn): kotlin.String public abstract fun bas(/*0*/ f: Fn): kotlin.Int public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public abstract fun foo(/*0*/ f: Fn): kotlin.Int public abstract fun foo(/*0*/ f: Fn): kotlin.String public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String }