import java.util.*; import java.util.function.UnaryOperator; class Test { public static Optional bar(Optional o) { return null; } public D foo(D entries) { return null; } { D>> registry = foo(new D<>(Test::bar)); } static class D { public D(V value) {} } }