namespace <root>

public open class A : java.lang.Object {
    public final /*constructor*/ fun <init>(): A
}
public open class X</*0*/ T : jet.Any?> : java.lang.Object {
    public final /*constructor*/ fun </*0*/ T : jet.Any?><init>(): X<T>
    package open fun bar(/*0*/ a: T?): jet.Tuple0
    package open fun foo(): T?
}
public open class Y : X<jet.String> {
    public final /*constructor*/ fun <init>(): Y
    package open override /*1*/ fun bar(/*0*/ a: jet.String?): jet.Tuple0
    package open override /*1*/ fun foo(): jet.String?
}
internal final fun main(): jet.Tuple0
