package

package a {
    public fun main(/*0*/ args: kotlin.Array<kotlin.String>): kotlin.Unit
    public fun </*0*/ T : a.Closeable, /*1*/ R> T.foo(/*0*/ block: (T) -> R): (T) -> R
    public fun </*0*/ T : a.Closeable, /*1*/ R> T.foo(/*0*/ block: (T, T) -> R): (T, T) -> R

    public final class C : a.Closeable {
        public constructor C()
        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 Closeable {
        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
    }
}
