~ temporary assume Computable is a subtype of ThrowableComputable

Just to look for other cases
diff --git a/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.fir.txt b/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.fir.txt
index 937b304..8b59844 100644
--- a/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.fir.txt
+++ b/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.fir.txt
@@ -2,22 +2,22 @@
     public final fun myUnitFun(): R|kotlin/Unit| {
     }
     public final fun main(app: R|Application|): R|kotlin/Unit| {
-        R|<local>/app|.R|/Application.runSomething|(<L> = SAM(runSomething@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
-            String()
-        }
-        ))
-        R|<local>/app|.R|/Application.runSomething|(<L> = SAM(runSomething@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
-            R|/myUnitFun|()
-        }
-        ))
-        R|<local>/app|.<Ambiguity: runSomething2, [/Application.runSomething2, /Application.runSomething2]>#(<L> = runSomething2@fun <anonymous>(): R|kotlin/String| <inline=Unknown>  {
+        R|<local>/app|.R|/Application.runSomething|<R|kotlin/String!|>(<L> = SAM(runSomething@fun <anonymous>(): R|kotlin/String!| <inline=NoInline>  {
             ^ String()
         }
-        )
-        R|<local>/app|.<Ambiguity: runSomething2, [/Application.runSomething2, /Application.runSomething2]>#(<L> = runSomething2@fun <anonymous>(): R|kotlin/Unit| <inline=Unknown>  {
+        ))
+        R|<local>/app|.R|/Application.runSomething|(<L> = SAM(runSomething@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
             R|/myUnitFun|()
         }
-        )
+        ))
+        R|<local>/app|.R|/Application.runSomething2|<R|kotlin/String!|>(<L> = SAM(runSomething2@fun <anonymous>(): R|kotlin/String!| <inline=NoInline>  {
+            ^ String()
+        }
+        ))
+        R|<local>/app|.R|/Application.runSomething2|<R|kotlin/Unit!|>(<L> = SAM(runSomething2@fun <anonymous>(): R|kotlin/Unit| <inline=NoInline>  {
+            R|/myUnitFun|()
+        }
+        ))
         R|<local>/app|.R|/Application.runSomething3|<R|kotlin/String!|, R|kotlin/Throwable!|>(<L> = SAM(runSomething3@fun <anonymous>(): R|kotlin/String!| <inline=NoInline>  {
             ^ String()
         }
diff --git a/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.kt b/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.kt
index f72a2e0..4cf561e 100644
--- a/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.kt
+++ b/compiler/fir/analysis-tests/testData/resolve/callResolution/orblrt/throwableJavaSam.kt
@@ -48,8 +48,8 @@
 fun main(app: Application) {
     app.runSomething { "" }
     app.runSomething { myUnitFun() }
-    app.<!OVERLOAD_RESOLUTION_AMBIGUITY!>runSomething2<!> { "" }
-    app.<!OVERLOAD_RESOLUTION_AMBIGUITY!>runSomething2<!> { myUnitFun() }
+    app.runSomething2 { "" }
+    app.runSomething2 { myUnitFun() }
     app.runSomething3 { "" }
     app.runSomething3 { myUnitFun() }
 }
diff --git a/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt b/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt
index 00f2d45..3897ec2 100644
--- a/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt
+++ b/compiler/fir/fir-jvm/src/org/jetbrains/kotlin/fir/java/enhancement/SignatureEnhancement.kt
@@ -801,6 +801,25 @@
             purelyImplementedSupertype?.let {
                 add(buildResolvedTypeRef { coneType = it })
             }
+
+            if (owner.classId == ClassId.topLevel(FqName("com.intellij.openapi.util.Computable"))) {
+                add(buildResolvedTypeRef {
+                    val tp = ConeTypeParameterTypeImpl(owner.typeParameters.first().symbol.toLookupTag(), isMarkedNullable = false)
+                    val throwable = ConeClassLikeTypeImpl(
+                        ClassId.topLevel(FqName("kotlin.Throwable")).toLookupTag(),
+                        emptyArray(),
+                        isMarkedNullable = false,
+                    )
+                    coneType = ConeClassLikeTypeImpl(
+                        ClassId.topLevel(FqName("com.intellij.openapi.util.ThrowableComputable")).toLookupTag(),
+                        arrayOf(
+                            ConeFlexibleType(tp, tp.withNullability(true, session.typeContext), isTrivial = true),
+                            ConeFlexibleType(throwable, throwable.withNullability(true, session.typeContext), isTrivial = true),
+                        ),
+                        isMarkedNullable = false,
+                    )
+                })
+            }
         }
     }
 
diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/overloads/ConeOverloadConflictResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/overloads/ConeOverloadConflictResolver.kt
index 718a1ff..6f8a718 100644
--- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/overloads/ConeOverloadConflictResolver.kt
+++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/overloads/ConeOverloadConflictResolver.kt
@@ -20,7 +20,6 @@
 import org.jetbrains.kotlin.fir.resolve.calls.*
 import org.jetbrains.kotlin.fir.resolve.calls.candidate.Candidate
 import org.jetbrains.kotlin.fir.resolve.calls.candidate.FirNamedReferenceWithCandidate
-import org.jetbrains.kotlin.fir.resolve.calls.removeTypeVariableTypes
 import org.jetbrains.kotlin.fir.resolve.calls.stages.shouldHaveLowPriorityDueToSAM
 import org.jetbrains.kotlin.fir.resolve.fullyExpandedType
 import org.jetbrains.kotlin.fir.resolve.inference.ConeTypeParameterBasedTypeVariable
@@ -244,7 +243,7 @@
                 candidates,
                 { !it.usesCoercionToUnitInLambda },
                 { discriminationFlags.copy(unitCoercionInLambdas = false) },
-            )?.takeIf { it.size == 1 }?.let { return it }
+            )?.let { return it }
         }
 
         findMaximallySpecificCall(candidates, false)?.let { return setOf(it) }