FILE fqName:<root> fileName:/suspendConversionForExtensionFunction.kt
  FUN name:runMe visibility:public modality:FINAL returnType:kotlin.Unit
    BLOCK_BODY
      VAR name:foo type:@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> [val]
        FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$null index:0 type:kotlin.String
            VALUE_PARAMETER kind:Regular name:it index:1 type:kotlin.coroutines.SuspendFunction0<kotlin.Unit>
            BLOCK_BODY
              RETURN type=kotlin.Nothing from='local final fun <anonymous> ($this$null: kotlin.String, it: kotlin.coroutines.SuspendFunction0<kotlin.Unit>): kotlin.Unit declared in <root>.runMe'
                GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
      VAR name:f type:kotlin.Function0<kotlin.Unit> [val]
        FUN_EXPR type=kotlin.Function0<kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            BLOCK_BODY
              RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Unit declared in <root>.runMe'
                GET_OBJECT 'CLASS IR_EXTERNAL_DECLARATION_STUB OBJECT name:Unit modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
      CALL 'public abstract fun invoke (p1: P1 of kotlin.Function2, p2: P2 of kotlin.Function2): R of kotlin.Function2 declared in kotlin.Function2' type=kotlin.Unit origin=INVOKE
        ARG <this>: GET_VAR 'val foo: @[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> declared in <root>.runMe' type=@[ExtensionFunctionType] kotlin.Function2<kotlin.String, kotlin.coroutines.SuspendFunction0<kotlin.Unit>, kotlin.Unit> origin=VARIABLE_AS_FUNCTION
        ARG p1: CONST String type=kotlin.String value=""
        ARG p2: BLOCK type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION
          FUN ADAPTER_FOR_SUSPEND_CONVERSION name:suspendConversion0 visibility:local modality:FINAL returnType:kotlin.Unit [suspend]
            VALUE_PARAMETER ADAPTER_PARAMETER_FOR_SUSPEND_CONVERSION kind:ExtensionReceiver name:$callee index:0 type:kotlin.Function0<kotlin.Unit>
            BLOCK_BODY
              CALL 'public abstract fun invoke (): R of kotlin.Function0 declared in kotlin.Function0' type=kotlin.Unit origin=null
                ARG <this>: GET_VAR '$callee: kotlin.Function0<kotlin.Unit> declared in <root>.runMe.suspendConversion0' type=kotlin.Function0<kotlin.Unit> origin=null
          FUNCTION_REFERENCE 'local final fun suspendConversion0 ($callee: kotlin.Function0<kotlin.Unit>): kotlin.Unit declared in <root>.runMe' type=kotlin.coroutines.SuspendFunction0<kotlin.Unit> origin=SUSPEND_CONVERSION reflectionTarget=null
            ARG $callee: GET_VAR 'val f: kotlin.Function0<kotlin.Unit> declared in <root>.runMe' type=kotlin.Function0<kotlin.Unit> origin=null
