package public fun test(/*0*/ j: J): 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 J { 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!, /*1*/ o: kotlin.Any!): kotlin.String! public abstract fun bas(/*0*/ f: Fn!, /*1*/ s: kotlin.String!): kotlin.Int public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public abstract fun foo(/*0*/ f: Fn!, /*1*/ s: kotlin.String!): kotlin.Int public abstract fun foo(/*0*/ f: Fn!, /*1*/ o: kotlin.Any!): kotlin.String! public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String }