KtApplicableCallCandidateInfo:
  candidate = KtSimpleFunctionCall:
    isImplicitInvoke = false
    partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
      dispatchReceiver = null
      extensionReceiver = KtExplicitReceiverValue:
        expression = listOf(1, 2, 3)
        isSafeNavigation = false
        type = kotlin.collections.List<kotlin.Int>
      signature = KtFunctionLikeSignature:
        receiverType = kotlin.collections.Iterable<kotlin.Int>
        returnType = kotlin.Unit
        symbol = kotlin/collections/forEach(<extension receiver>: kotlin.collections.Iterable<T>, action: kotlin.Function1<T, kotlin.Unit>): kotlin.Unit
        valueParameters = [
          KtVariableLikeSignature:
            name = action
            receiverType = null
            returnType = kotlin.Function1<kotlin.Int, kotlin.Unit>
            symbol = action: kotlin.Function1<T, kotlin.Unit>
            callableIdIfNonLocal = null
        ]
        callableIdIfNonLocal = kotlin/collections/forEach
    typeArgumentsMapping = {
      T -> (kotlin.Int)
    }
    argumentMapping = {
      { } -> (KtVariableLikeSignature:
        name = action
        receiverType = null
        returnType = kotlin.Function1<kotlin.Int, kotlin.Unit>
        symbol = action: kotlin.Function1<T, kotlin.Unit>
        callableIdIfNonLocal = null)
    }
  isInBestCandidates = true

KtInapplicableCallCandidateInfo:
  diagnostic = ERROR<INAPPLICABLE_CANDIDATE: Inapplicable candidate(s): fun List<Int>.forEach(action: (Int) -> Unit): Unit>
  candidate = KtSimpleFunctionCall:
    isImplicitInvoke = false
    partiallyAppliedSymbol = KtPartiallyAppliedSymbol:
      dispatchReceiver = null
      extensionReceiver = KtExplicitReceiverValue:
        expression = listOf(1, 2, 3)
        isSafeNavigation = false
        type = kotlin.collections.List<kotlin.Int>
      signature = KtFunctionLikeSignature:
        receiverType = kotlin.collections.List<kotlin.Int>
        returnType = kotlin.Unit
        symbol = /forEach(<extension receiver>: kotlin.collections.List<kotlin.Int>, action: kotlin.Function1<kotlin.Int, kotlin.Unit>): kotlin.Unit
        valueParameters = [
          KtVariableLikeSignature:
            name = action
            receiverType = null
            returnType = kotlin.Function1<kotlin.Int, kotlin.Unit>
            symbol = action: kotlin.Function1<kotlin.Int, kotlin.Unit>
            callableIdIfNonLocal = null
        ]
        callableIdIfNonLocal = /forEach
    typeArgumentsMapping = {}
    argumentMapping = {
      { } -> (KtVariableLikeSignature:
        name = action
        receiverType = null
        returnType = kotlin.Function1<kotlin.Int, kotlin.Unit>
        symbol = action: kotlin.Function1<kotlin.Int, kotlin.Unit>
        callableIdIfNonLocal = null)
    }
  isInBestCandidates = false
