I'm using Vavr, which has a number of methods with overloads that take alternately a Supplier or a Function (particularly for creating an exception instance). The STC can't disambiguate which overload to call, even when the syntax is explicit.
In the below code, each call to replace is entirely unambiguous, but the compiler reports "Reference to method is ambiguous" on both. Of course, the problem persists with closures. Only wrapping the entire lambda (including ()) in parens and using as Function (or Supplier) works.