public abstract interface DeeplySubstitutedClassParameter : R|kotlin/Any| {
    <E> public abstract interface Middle : R|test/DeeplySubstitutedClassParameter.Super<E>| {
        public abstract fun foo(): R|E|

    }

    public abstract interface Sub : R|test/DeeplySubstitutedClassParameter.Middle<kotlin/String>| {
        public abstract fun foo(): R|kotlin/String|

    }

    <T> public abstract interface Super : R|kotlin/Any| {
        public abstract fun dummy(): R|kotlin/Unit|

        public abstract fun foo(): R|T|

    }

}
