class Test { interface A { T a(); } interface B { T b(); } private void m(A a) { } private void m(B b) { } { m((() -> 42)); m(true ? () -> 42 : () -> 42); m(true ? null : (() -> 42)); } }