Seleção de assinatura de método para expressão lambda com vários tipos de destino correspondentes

Eu estava respondendo uma pergunta e me deparei com um cenário que não consigo explicar. Considere este código: interface ConsumerOne<T> { void accept(T a); } interface CustomIterable<T> extends Iterable<T> { void forEach(ConsumerOne<? super T> c); //overload } class A...