namespace <root>

internal abstract trait Bar</*0*/ Q : jet.Any?> : Foo<Q> {
    internal open override /*1*/ fun quux(/*0*/ p: Q, /*1*/ q: jet.Int = ?): jet.Int
}
internal abstract class Baz : Bar<jet.String> {
    public final /*constructor*/ fun <init>(): Baz
    internal open override /*1*/ fun quux(/*0*/ p: jet.String, /*1*/ q: jet.Int = ?): jet.Int
}
internal abstract trait Foo</*0*/ P : jet.Any?> : jet.Any {
    internal open fun quux(/*0*/ p: P, /*1*/ q: jet.Int = ?): jet.Int
}
internal final fun zz(/*0*/ b: Baz): jet.Int
