No se pueden inferir los argumentos de tipo para <R> mapa (Función <? Super T ,? extiende R>) en alguna situación específica

Tengo las siguientes clases en un archivo Sandbox.java:

package sandbox;

import java.util.Arrays;
import java.util.Collection;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.stream.Collectors;

public class Sandbox {

    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        Collection<String> s = Arrays.asList(1,2,4,100).stream()
                .map(i -> CompletableFuture
                        .supplyAsync(() -> Wrapper.of(i), executor)
                        .thenApply(d -> d.get().toString())
                        )
                .map(CompletableFuture::join)
                .collect(Collectors.toList());

        executor.shutdown();

        System.out.println(s);
    }
}

class Wrapper<T> {
    T t;

    private Wrapper(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }

    public static <T> Wrapper<T> of (T t) {
        return new Wrapper<>(t);
    }
}

la compilación en Eclipse muestra un error en la línea 14 "No se pueden inferir los argumentos de tipo para el mapa (Función)".

El mismo código se compila sin problemas utilizando javac puro (JDK 1.8.0_121).

Si cambio la línea adecuada en:

Collection<String> s = Arrays.asList(1,2,4,100).stream()
                .map(i -> CompletableFuture
                        .supplyAsync(() -> Wrapper.of(i), executor)
                        .<String>thenApply(d -> d.get().toString())
                        )
                .map(CompletableFuture::join)
                .collect(Collectors.toList());

entonces el código se compila sin error en Eclipse.

¿Alguien sabe por qué hay tal comportamiento? ¿Es un error?

Uso Eclipse 4.6.2.20161208-0625 (no encuentra actualizaciones por el momento).

Respuestas a la pregunta(2)

Su respuesta a la pregunta