public class A {
    public method <init>(): void
    public final @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: A): java.lang.String
    public final @org.jetbrains.annotations.NotNull method foo(p0: java.lang.Object): java.lang.String
}


public final class B {
    public method <init>(): void
}


public interface C {
    public abstract @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: A): java.lang.String
    public abstract @org.jetbrains.annotations.NotNull method foo(p0: java.lang.Object): java.lang.String
}


public interface D {
    public abstract @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: A): java.lang.String
}


public final class DifferentErasureInSuperClassComplexKt {
    public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String
}
