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

    }
    public abstract interface Sub : R|test/DeeplySubstitutedClassParameter.Middle<ft<kotlin/String, kotlin/String?>>| {
        public abstract fun foo(p: R|ft<kotlin/String, kotlin/String?>|): R|kotlin/Unit|

    }
    public abstract interface Super<T : R|ft<kotlin/Any, kotlin/Any?>|> : R|kotlin/Any| {
        public abstract fun foo(p: R|ft<T, T?>|): R|kotlin/Unit|

        public abstract fun dummy(): R|kotlin/Unit|

    }
}
