public Function<V, U> compose(Function<? super V, ? extends T> before)
Can someone explain the way "? super T" works, why we need "super" in this interface to make method more flexible?
I understand that "super" allowed to add an object in case of collections, but how does it work in interface "Function"?