почему так делать нельзя? почему "super" в данном случае работает как "extends"? это баг?)
Лол, super значит, что вы можете передать в метод сапплаер типизированный C или выше, а не то, что он должен возвращать результат выше С, у вас пример неудачный, так как в вашем коде нарушен pecs принцип, возьмите например Function<? super С, Object>, вы туда тоже не сможете инстанс В передать при вызове apply(), так как вы можете передать в метод Function<C, Object>, а в самом методе пытаться туда засунуть В