FILE fqName:<root> fileName:/coercionInLoop.kt
  FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]
    BLOCK_BODY
      VAR name:a type:kotlin.DoubleArray flags:[val]
        CALL 'CONSTRUCTOR IR_EXTERNAL_DECLARATION_STUB visibility:public <> (size:kotlin.Int) returnType:kotlin.DoubleArray flags:[primary]' type=kotlin.DoubleArray origin=null
          size: CONST Int type=kotlin.Int value=5
      VAR name:x type:kotlin.collections.DoubleIterator flags:[val]
        CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:iterator visibility:public modality:FINAL <> ($this:kotlin.DoubleArray) returnType:kotlin.collections.DoubleIterator flags:[]' type=kotlin.collections.DoubleIterator origin=null
          $this: GET_VAR 'VAR name:a type:kotlin.DoubleArray flags:[val]' type=kotlin.DoubleArray origin=null
      VAR name:i type:kotlin.Int flags:[var]
        CONST Int type=kotlin.Int value=0
      WHILE label=null origin=WHILE_LOOP
        condition: CALL 'FUN FAKE_OVERRIDE name:hasNext visibility:public modality:ABSTRACT <> ($this:kotlin.collections.Iterator<kotlin.Double>) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=null
          $this: GET_VAR 'VAR name:x type:kotlin.collections.DoubleIterator flags:[val]' type=kotlin.collections.DoubleIterator origin=null
        body: BLOCK type=kotlin.Unit origin=null
          WHEN type=kotlin.Unit origin=IF
            BRANCH
              if: CALL 'FUN IR_BUILTINS_STUB name:NOT visibility:public modality:FINAL <> (arg0:kotlin.Boolean) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ
                arg0: CALL 'FUN IR_BUILTINS_STUB name:ieee754equals visibility:public modality:FINAL <> (arg0:kotlin.Double?, arg1:kotlin.Double?) returnType:kotlin.Boolean flags:[]' type=kotlin.Boolean origin=EXCLEQ
                  arg0: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:get visibility:public modality:FINAL <> ($this:kotlin.DoubleArray, index:kotlin.Int) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=GET_ARRAY_ELEMENT
                    $this: GET_VAR 'VAR name:a type:kotlin.DoubleArray flags:[val]' type=kotlin.DoubleArray origin=null
                    index: GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
                  arg1: CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:next visibility:public modality:FINAL <> ($this:kotlin.collections.DoubleIterator) returnType:kotlin.Double flags:[]' type=kotlin.Double origin=null
                    $this: GET_VAR 'VAR name:x type:kotlin.collections.DoubleIterator flags:[val]' type=kotlin.collections.DoubleIterator origin=null
              then: RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
                STRING_CONCATENATION type=kotlin.String
                  CONST String type=kotlin.String value="Fail "
                  GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=null
          TYPE_OP type=kotlin.Unit origin=IMPLICIT_COERCION_TO_UNIT typeOperand=kotlin.Unit
            typeOperand: CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public flags:[] superTypes:[kotlin.Any]
            BLOCK type=kotlin.Int origin=POSTFIX_INCR
              VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]
                GET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Int origin=POSTFIX_INCR
              SET_VAR 'VAR name:i type:kotlin.Int flags:[var]' type=kotlin.Unit origin=POSTFIX_INCR
                CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:inc visibility:public modality:FINAL <> ($this:kotlin.Int) returnType:kotlin.Int flags:[]' type=kotlin.Int origin=POSTFIX_INCR
                  $this: GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null
              GET_VAR 'VAR IR_TEMPORARY_VARIABLE name:tmp0 type:kotlin.Int flags:[val]' type=kotlin.Int origin=null
      RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
        CONST String type=kotlin.String value="OK"
