KtCallExpression(191,224): 'function(1, { s -> true }, "str")'
  KaCallResolutionError:
    candidateCalls = [
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /function(a: O1, b: (kotlin.Int) -> kotlin.Boolean, c: T1): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = a
              receiverType = null
              returnType = O1
              symbol = a: O1
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = b
              receiverType = null
              returnType = (kotlin.Int) -> kotlin.Boolean
              symbol = b: (kotlin.Int) -> kotlin.Boolean
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = c
              receiverType = null
              returnType = T1
              symbol = c: T1
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /function
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          1 -> (KaVariableSignature:
            name = a
            receiverType = null
            returnType = O1
            symbol = a: O1
            contextParameters = []
            callableId = null),
          { s -> true } -> (KaVariableSignature:
            name = b
            receiverType = null
            returnType = (kotlin.Int) -> kotlin.Boolean
            symbol = b: (kotlin.Int) -> kotlin.Boolean
            contextParameters = []
            callableId = null),
          "str" -> (KaVariableSignature:
            name = c
            receiverType = null
            returnType = T1
            symbol = c: T1
            contextParameters = []
            callableId = null)
        },
      KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = null
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Unit
          symbol = /function(a: O2, b: (kotlin.String) -> kotlin.Boolean, c: T2): kotlin.Unit
          valueParameters = [
            KaVariableSignature:
              name = a
              receiverType = null
              returnType = O2
              symbol = a: O2
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = b
              receiverType = null
              returnType = (kotlin.String) -> kotlin.Boolean
              symbol = b: (kotlin.String) -> kotlin.Boolean
              contextParameters = []
              callableId = null,
            KaVariableSignature:
              name = c
              receiverType = null
              returnType = T2
              symbol = c: T2
              contextParameters = []
              callableId = null
          ]
          contextParameters = []
          callableId = /function
        typeArgumentsMapping = {}
        valueArgumentMapping = {
          1 -> (KaVariableSignature:
            name = a
            receiverType = null
            returnType = O2
            symbol = a: O2
            contextParameters = []
            callableId = null),
          { s -> true } -> (KaVariableSignature:
            name = b
            receiverType = null
            returnType = (kotlin.String) -> kotlin.Boolean
            symbol = b: (kotlin.String) -> kotlin.Boolean
            contextParameters = []
            callableId = null),
          "str" -> (KaVariableSignature:
            name = c
            receiverType = null
            returnType = T2
            symbol = c: T2
            contextParameters = []
            callableId = null)
        }
    ]
    diagnostic = ERROR<OVERLOAD_RESOLUTION_AMBIGUITY: Overload resolution ambiguity between candidates:
    fun <T1, O1> function(a: O1, b: (Int) -> Boolean, c: T1): Unit
    fun <T2, O2> function(a: O2, b: (String) -> Boolean, c: T2): Unit>