KtForExpression(23,37): 'for(i in f) {}'
  KaApplicableCallCandidate:
    candidate = KaForLoopCall:
      hasNextCall = KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = f
          isSafeNavigation = false
          type = Iterator
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Boolean
          symbol = /Iterator.hasNext(<dispatch receiver>: Iterator): kotlin.Boolean
          valueParameters = []
          contextParameters = []
          callableId = /Iterator.hasNext
        typeArgumentsMapping = {}
        valueArgumentMapping = {}
      iteratorCall = KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = f
          isSafeNavigation = false
          type = Foo
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = Iterator
          symbol = /Foo.iterator(<dispatch receiver>: Foo): Iterator
          valueParameters = []
          contextParameters = []
          callableId = /Foo.iterator
        typeArgumentsMapping = {}
        valueArgumentMapping = {}
      nextCall = KaSimpleFunctionCall:
        contextArgumentMapping = {}
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = f
          isSafeNavigation = false
          type = Iterator
        extensionReceiver = null
        signature = KaFunctionSignature:
          receiverType = null
          returnType = kotlin.Any
          symbol = /Iterator.next(<dispatch receiver>: Iterator): kotlin.Any
          valueParameters = []
          contextParameters = []
          callableId = /Iterator.next
        typeArgumentsMapping = {}
        valueArgumentMapping = {}
    isInBestCandidates = true
