public class Test { // This gets mapped to kotlin.Iterable, meaning we must reintroduce the use-site extends variance to get a type consistent with Java. public static void needlessExtends(Iterable l) { } // This type is defined KotlinConsumer, meaning we must reintroduce the use-site extends variance to get a type consistent with Java. public static void needlessSuper(KotlinConsumer l) { } }