FILE fqName:<root> fileName:/functions.kt
  CLASS CLASS name:MyClass14 modality:FINAL visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass14<T of <root>.MyClass14>
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    PROPERTY name:value visibility:private modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:value type:T of <root>.MyClass14 visibility:private [final]
        EXPRESSION_BODY
          GET_VAR 'value: T of <root>.MyClass14 declared in <root>.MyClass14.<init>' type=T of <root>.MyClass14 origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-value> visibility:private modality:FINAL <> ($this:<root>.MyClass14<T of <root>.MyClass14>) returnType:T of <root>.MyClass14
        correspondingProperty: PROPERTY name:value visibility:private modality:FINAL [val]
        $this: VALUE_PARAMETER name:<this> type:<root>.MyClass14<T of <root>.MyClass14>
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='private final fun <get-value> (): T of <root>.MyClass14 declared in <root>.MyClass14'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:value type:T of <root>.MyClass14 visibility:private [final]' type=T of <root>.MyClass14 origin=null
              receiver: GET_VAR '<this>: <root>.MyClass14<T of <root>.MyClass14> declared in <root>.MyClass14.<get-value>' type=<root>.MyClass14<T of <root>.MyClass14> origin=null
    CONSTRUCTOR visibility:public <> (value:T of <root>.MyClass14) returnType:<root>.MyClass14<T of <root>.MyClass14> [primary]
      VALUE_PARAMETER name:value index:0 type:T of <root>.MyClass14
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass14 modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL <> ($this:<root>.MyClass14<T of <root>.MyClass14>) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass14, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
      annotations:
        ObjCName(name = "returnGenericSuspendValue", swiftName = <null>, exact = <null>)
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass14<T of <root>.MyClass14>
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val]
          CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
        RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass14, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass14'
          CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass14, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
            <T>: T of <root>.MyClass14
            scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope? declared in <root>.MyClass14.returnGenericSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
            block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<T of <root>.MyClass14> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:T of <root>.MyClass14 [suspend]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): T of <root>.MyClass14 declared in <root>.MyClass14.returnGenericSuspendValueNative'
                    CALL 'public final fun returnGenericSuspendValue (): T of <root>.MyClass14 declared in <root>.MyClass14' type=T of <root>.MyClass14 origin=null
                      $this: GET_VAR '<this>: <root>.MyClass14<T of <root>.MyClass14> declared in <root>.MyClass14.returnGenericSuspendValueNative' type=<root>.MyClass14<T of <root>.MyClass14> origin=null
    FUN name:returnGenericSuspendValue visibility:public modality:FINAL <> ($this:<root>.MyClass14<T of <root>.MyClass14>) returnType:T of <root>.MyClass14 [suspend]
      annotations:
        NativeCoroutines
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass14<T of <root>.MyClass14>
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValue (): T of <root>.MyClass14 declared in <root>.MyClass14'
          CALL 'private final fun <get-value> (): T of <root>.MyClass14 declared in <root>.MyClass14' type=T of <root>.MyClass14 origin=GET_PROPERTY
            $this: GET_VAR '<this>: <root>.MyClass14<T of <root>.MyClass14> declared in <root>.MyClass14.returnGenericSuspendValue' type=<root>.MyClass14<T of <root>.MyClass14> origin=null
  CLASS CLASS name:MyClass16 modality:FINAL visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass16
    CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass16 [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass16 modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:functionWithGenericValuesNative visibility:public modality:FINAL <T1, T2> ($this:<root>.MyClass16, value1:T1 of <root>.MyClass16.functionWithGenericValuesNative, value2:T2 of <root>.MyClass16.functionWithGenericValuesNative) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
      annotations:
        ObjCName(name = "functionWithGenericValues", swiftName = <null>, exact = <null>)
      TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
      TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T2 index:1 variance: superTypes:[T1 of <root>.MyClass16.functionWithGenericValuesNative] reified:false
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass16
      VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:value1 index:0 type:T1 of <root>.MyClass16.functionWithGenericValuesNative
      VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:value2 index:1 type:T2 of <root>.MyClass16.functionWithGenericValuesNative
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:kotlinx.coroutines.CoroutineScope? [val]
          CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
        RETURN type=kotlin.Nothing from='public final fun functionWithGenericValuesNative <T1, T2> (value1: T1 of <root>.MyClass16.functionWithGenericValuesNative, value2: T2 of <root>.MyClass16.functionWithGenericValuesNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass16'
          CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
            <T>: kotlin.String
            scope: GET_VAR 'val tmp_1: kotlinx.coroutines.CoroutineScope? declared in <root>.MyClass16.functionWithGenericValuesNative' type=kotlinx.coroutines.CoroutineScope? origin=null
            block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.MyClass16.functionWithGenericValuesNative'
                    CALL 'public final fun functionWithGenericValues <T1, T2> (value1: T1 of <root>.MyClass16.functionWithGenericValues, value2: T2 of <root>.MyClass16.functionWithGenericValues): kotlin.String declared in <root>.MyClass16' type=kotlin.String origin=null
                      <T1>: T1 of <root>.MyClass16.functionWithGenericValuesNative
                      <T2>: T2 of <root>.MyClass16.functionWithGenericValuesNative
                      $this: GET_VAR '<this>: <root>.MyClass16 declared in <root>.MyClass16.functionWithGenericValuesNative' type=<root>.MyClass16 origin=null
                      value1: GET_VAR 'value1: T1 of <root>.MyClass16.functionWithGenericValuesNative declared in <root>.MyClass16.functionWithGenericValuesNative' type=T1 of <root>.MyClass16.functionWithGenericValuesNative origin=null
                      value2: GET_VAR 'value2: T2 of <root>.MyClass16.functionWithGenericValuesNative declared in <root>.MyClass16.functionWithGenericValuesNative' type=T2 of <root>.MyClass16.functionWithGenericValuesNative origin=null
    FUN name:functionWithGenericValues visibility:public modality:FINAL <T1, T2> ($this:<root>.MyClass16, value1:T1 of <root>.MyClass16.functionWithGenericValues, value2:T2 of <root>.MyClass16.functionWithGenericValues) returnType:kotlin.String [suspend]
      annotations:
        NativeCoroutines
      TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
      TYPE_PARAMETER name:T2 index:1 variance: superTypes:[T1 of <root>.MyClass16.functionWithGenericValues] reified:false
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass16
      VALUE_PARAMETER name:value1 index:0 type:T1 of <root>.MyClass16.functionWithGenericValues
      VALUE_PARAMETER name:value2 index:1 type:T2 of <root>.MyClass16.functionWithGenericValues
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun functionWithGenericValues <T1, T2> (value1: T1 of <root>.MyClass16.functionWithGenericValues, value2: T2 of <root>.MyClass16.functionWithGenericValues): kotlin.String declared in <root>.MyClass16'
          CALL 'public final fun plus (other: kotlin.Any?): kotlin.String declared in kotlin.String' type=kotlin.String origin=PLUS
            $this: CALL 'public final fun toString (): kotlin.String declared in kotlin' type=kotlin.String origin=null
              $receiver: GET_VAR 'value1: T1 of <root>.MyClass16.functionWithGenericValues declared in <root>.MyClass16.functionWithGenericValues' type=T1 of <root>.MyClass16.functionWithGenericValues origin=null
            other: CALL 'public final fun toString (): kotlin.String declared in kotlin' type=kotlin.String origin=null
              $receiver: GET_VAR 'value2: T2 of <root>.MyClass16.functionWithGenericValues declared in <root>.MyClass16.functionWithGenericValues' type=T2 of <root>.MyClass16.functionWithGenericValues origin=null
  CLASS CLASS name:MyClass20 modality:FINAL visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass20
    CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass20 [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass20 modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnClassExtensionValueNative visibility:public modality:FINAL <> ($this:<root>.MyClass20, $receiver:kotlin.String) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
      annotations:
        ObjCName(name = "returnClassExtensionValue", swiftName = <null>, exact = <null>)
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass20
      $receiver: VALUE_PARAMETER name:<this> type:kotlin.String
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val]
          CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
        RETURN type=kotlin.Nothing from='public final fun returnClassExtensionValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass20'
          CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
            <T>: kotlin.String
            scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope? declared in <root>.MyClass20.returnClassExtensionValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
            block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.MyClass20.returnClassExtensionValueNative'
                    CALL 'public final fun returnClassExtensionValue (): kotlin.String declared in <root>.MyClass20' type=kotlin.String origin=null
                      $this: GET_VAR '<this>: <root>.MyClass20 declared in <root>.MyClass20.returnClassExtensionValueNative' type=<root>.MyClass20 origin=null
                      $receiver: GET_VAR '<this>: kotlin.String declared in <root>.MyClass20.returnClassExtensionValueNative' type=kotlin.String origin=null
    FUN name:returnClassExtensionValue visibility:public modality:FINAL <> ($this:<root>.MyClass20, $receiver:kotlin.String) returnType:kotlin.String [suspend]
      annotations:
        NativeCoroutines
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass20
      $receiver: VALUE_PARAMETER name:<this> type:kotlin.String
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun returnClassExtensionValue (): kotlin.String declared in <root>.MyClass20'
          GET_VAR '<this>: kotlin.String declared in <root>.MyClass20.returnClassExtensionValue' type=kotlin.String origin=null
  CLASS CLASS name:MyClass21 modality:FINAL visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass21<T of <root>.MyClass21>
    TYPE_PARAMETER name:T index:0 variance:out superTypes:[kotlin.Any?] reified:false
    CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass21<T of <root>.MyClass21> [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass21 modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericValueNative visibility:public modality:FINAL <> ($this:<root>.MyClass21<T of <root>.MyClass21>) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass21?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
      annotations:
        ObjCName(name = "returnGenericValue", swiftName = <null>, exact = <null>)
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass21<T of <root>.MyClass21>
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val]
          CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
        RETURN type=kotlin.Nothing from='public final fun returnGenericValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass21?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass21'
          CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass21?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
            <T>: T of <root>.MyClass21?
            scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope? declared in <root>.MyClass21.returnGenericValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
            block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<T of <root>.MyClass21?> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:T of <root>.MyClass21? [suspend]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): T of <root>.MyClass21? declared in <root>.MyClass21.returnGenericValueNative'
                    CALL 'public final fun returnGenericValue (): T of <root>.MyClass21? declared in <root>.MyClass21' type=T of <root>.MyClass21? origin=null
                      $this: GET_VAR '<this>: <root>.MyClass21<T of <root>.MyClass21> declared in <root>.MyClass21.returnGenericValueNative' type=<root>.MyClass21<T of <root>.MyClass21> origin=null
    FUN name:returnGenericValue visibility:public modality:FINAL <> ($this:<root>.MyClass21<T of <root>.MyClass21>) returnType:T of <root>.MyClass21? [suspend]
      annotations:
        NativeCoroutines
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass21<T of <root>.MyClass21>
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun returnGenericValue (): T of <root>.MyClass21? declared in <root>.MyClass21'
          CONST Null type=kotlin.Nothing? value=null
  CLASS CLASS name:MyClass22 modality:FINAL visibility:public superTypes:[<root>.MyInterface22]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass22
    CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass22 [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass22 modality:FINAL visibility:public superTypes:[<root>.MyInterface22]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.MyInterface22
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.MyInterface22
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:returnInterfaceSuspendValueNative visibility:public modality:FINAL <> ($this:<root>.MyInterface22) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> [fake_override]
      annotations:
        ObjCName(name = "returnInterfaceSuspendValue", swiftName = <null>, exact = <null>)
      overridden:
        public final fun returnInterfaceSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyInterface22
      $this: VALUE_PARAMETER name:<this> type:<root>.MyInterface22
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in <root>.MyInterface22
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN name:returnInterfaceSuspendValue visibility:public modality:OPEN <> ($this:<root>.MyClass22) returnType:kotlin.String [suspend]
      annotations:
        NativeCoroutines
      overridden:
        public abstract fun returnInterfaceSuspendValue (): kotlin.String declared in <root>.MyInterface22
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass22
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public open fun returnInterfaceSuspendValue (): kotlin.String declared in <root>.MyClass22'
          CONST String type=kotlin.String value="OK22"
  CLASS CLASS name:MyClass8 modality:FINAL visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyClass8
    CONSTRUCTOR visibility:public <> () returnType:<root>.MyClass8 [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyClass8 modality:FINAL visibility:public superTypes:[kotlin.Any]'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL <> ($this:<root>.MyClass8) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
      annotations:
        ObjCName(name = "returnSuspendValue", swiftName = <null>, exact = <null>)
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass8
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.CoroutineScope? [val]
          CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
        RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass8'
          CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
            <T>: kotlin.String
            scope: GET_VAR 'val tmp_4: kotlinx.coroutines.CoroutineScope? declared in <root>.MyClass8.returnSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
            block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.MyClass8.returnSuspendValueNative'
                    CALL 'public final fun returnSuspendValue (): kotlin.String declared in <root>.MyClass8' type=kotlin.String origin=null
                      $this: GET_VAR '<this>: <root>.MyClass8 declared in <root>.MyClass8.returnSuspendValueNative' type=<root>.MyClass8 origin=null
    FUN name:returnSuspendValue visibility:public modality:FINAL <> ($this:<root>.MyClass8) returnType:kotlin.String [suspend]
      annotations:
        NativeCoroutines
      $this: VALUE_PARAMETER name:<this> type:<root>.MyClass8
      BLOCK_BODY
        RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in <root>.MyClass8'
          CONST String type=kotlin.String value="OK8"
  CLASS CLASS name:MyFlow23 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow<T2 of <root>.MyFlow23>]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyFlow23<T1 of <root>.MyFlow23, T2 of <root>.MyFlow23>
    TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
    TYPE_PARAMETER name:T2 index:1 variance: superTypes:[kotlin.Any?] reified:false
    FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow<T2 of <root>.MyFlow23> visibility:private [final]
      EXPRESSION_BODY
        CALL 'public final fun flowOf <T> (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow<T of kotlinx.coroutines.flow.flowOf> declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow<T2 of <root>.MyFlow23> origin=null
          <T>: T2 of <root>.MyFlow23
          value: GET_VAR 'value2: T2 of <root>.MyFlow23 declared in <root>.MyFlow23.<init>' type=T2 of <root>.MyFlow23 origin=null
    CONSTRUCTOR visibility:public <> (value1:T1 of <root>.MyFlow23, value2:T2 of <root>.MyFlow23) returnType:<root>.MyFlow23<T1 of <root>.MyFlow23, T2 of <root>.MyFlow23> [primary]
      VALUE_PARAMETER name:value1 index:0 type:T1 of <root>.MyFlow23
      VALUE_PARAMETER name:value2 index:1 type:T2 of <root>.MyFlow23
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:MyFlow23 modality:FINAL visibility:public superTypes:[kotlinx.coroutines.flow.Flow<T2 of <root>.MyFlow23>]'
    FUN DELEGATED_MEMBER name:collect visibility:public modality:OPEN <> ($this:<root>.MyFlow23<T1 of <root>.MyFlow23, T2 of <root>.MyFlow23>, collector:kotlinx.coroutines.flow.FlowCollector<T2 of <root>.MyFlow23>) returnType:kotlin.Unit [suspend]
      overridden:
        public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector<T of kotlinx.coroutines.flow.Flow>): kotlin.Unit declared in kotlinx.coroutines.flow.Flow
      $this: VALUE_PARAMETER name:<this> type:<root>.MyFlow23<T1 of <root>.MyFlow23, T2 of <root>.MyFlow23>
      VALUE_PARAMETER name:collector index:0 type:kotlinx.coroutines.flow.FlowCollector<T2 of <root>.MyFlow23>
      BLOCK_BODY
        CALL 'public abstract fun collect (collector: kotlinx.coroutines.flow.FlowCollector<T of kotlinx.coroutines.flow.Flow>): kotlin.Unit declared in kotlinx.coroutines.flow.Flow' type=kotlin.Unit origin=null
          $this: GET_FIELD 'FIELD DELEGATE name:$$delegate_0 type:kotlinx.coroutines.flow.Flow<T2 of <root>.MyFlow23> visibility:private [final] declared in <root>.MyFlow23' type=kotlinx.coroutines.flow.Flow<T2 of <root>.MyFlow23> origin=null
            receiver: GET_VAR '<this>: <root>.MyFlow23<T1 of <root>.MyFlow23, T2 of <root>.MyFlow23> declared in <root>.MyFlow23.collect' type=<root>.MyFlow23<T1 of <root>.MyFlow23, T2 of <root>.MyFlow23> origin=null
          collector: GET_VAR 'collector: kotlinx.coroutines.flow.FlowCollector<T2 of <root>.MyFlow23> declared in <root>.MyFlow23.collect' type=kotlinx.coroutines.flow.FlowCollector<T2 of <root>.MyFlow23> origin=null
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlinx.coroutines.flow.Flow
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlinx.coroutines.flow.Flow
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlinx.coroutines.flow.Flow
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
  CLASS INTERFACE name:MyInterface22 modality:ABSTRACT visibility:public superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.MyInterface22
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean [fake_override,operator]
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
      VALUE_PARAMETER name:other index:0 type:kotlin.Any?
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int [fake_override]
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String [fake_override]
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any
    FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInterfaceSuspendValueNative visibility:public modality:FINAL <> ($this:<root>.MyInterface22) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
      annotations:
        ObjCName(name = "returnInterfaceSuspendValue", swiftName = <null>, exact = <null>)
      $this: VALUE_PARAMETER name:<this> type:<root>.MyInterface22
      BLOCK_BODY
        VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val]
          CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
        RETURN type=kotlin.Nothing from='public final fun returnInterfaceSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyInterface22'
          CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
            <T>: kotlin.String
            scope: GET_VAR 'val tmp_5: kotlinx.coroutines.CoroutineScope? declared in <root>.MyInterface22.returnInterfaceSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
            block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
              FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
                BLOCK_BODY
                  RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.MyInterface22.returnInterfaceSuspendValueNative'
                    CALL 'public abstract fun returnInterfaceSuspendValue (): kotlin.String declared in <root>.MyInterface22' type=kotlin.String origin=null
                      $this: GET_VAR '<this>: <root>.MyInterface22 declared in <root>.MyInterface22.returnInterfaceSuspendValueNative' type=<root>.MyInterface22 origin=null
    FUN name:returnInterfaceSuspendValue visibility:public modality:ABSTRACT <> ($this:<root>.MyInterface22) returnType:kotlin.String [suspend]
      annotations:
        NativeCoroutines
      $this: VALUE_PARAMETER name:<this> type:<root>.MyInterface22
  FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
        CALL 'public final fun runBoxTest (action: @[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<com.rickclephas.kmp.nativecoroutines.BoxTest, kotlin.Unit>): kotlin.String declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.String origin=null
          action: FUN_EXPR type=@[ExtensionFunctionType] kotlin.coroutines.SuspendFunction1<com.rickclephas.kmp.nativecoroutines.BoxTest, kotlin.Unit> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:com.rickclephas.kmp.nativecoroutines.BoxTest) returnType:kotlin.Unit [suspend]
              $receiver: VALUE_PARAMETER name:$this$runBoxTest type:com.rickclephas.kmp.nativecoroutines.BoxTest
              BLOCK_BODY
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String?
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnNullableSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun collect <T> (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.BoxTest.collect, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeFlow: CALL 'public final fun returnFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun collect <T> (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.BoxTest.collect, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String?
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeFlow: CALL 'public final fun returnNullableFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun value <T> (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  value: CALL 'public final fun returnNullableFlowNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? origin=null
                CALL 'public final fun value <T> (value: T of com.rickclephas.kmp.nativecoroutines.BoxTest.value): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  value: CALL 'public final fun returnNullableFlowAndValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? origin=null
                CALL 'public final fun collect <T> (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.BoxTest.collect, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeFlow: CALL 'public final fun returnStateFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                  maxValues: CONST Int type=kotlin.Int value=1
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass8' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    $this: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.MyClass8' type=<root>.MyClass8 origin=null
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    value: CONST String type=kotlin.String value="OK9"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.Int
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Int, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Int, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    value: CONST Int type=kotlin.Int value=9
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnThrowsSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    values: VARARG type=kotlin.Array<out kotlin.String> varargElementType=kotlin.String
                      CONST String type=kotlin.String value="OK11"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnGenericSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass14, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass14' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    $this: CONSTRUCTOR_CALL 'public constructor <init> (value: T of <root>.MyClass14) declared in <root>.MyClass14' type=<root>.MyClass14<kotlin.String> origin=null
                      <class: T>: kotlin.String
                      value: CONST String type=kotlin.String value="OK12"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnRefinedSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun awaitAndCollect <T> (nativeSuspendFlow: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.BoxTest.awaitAndCollect, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspendFlow: CALL 'public final fun returnSuspendFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnGenericSuspendValueNative <T> (value: T of <root>.returnGenericSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    <T>: kotlin.String
                    value: CONST String type=kotlin.String value="OK15"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun functionWithGenericValuesNative <T1, T2> (value1: T1 of <root>.MyClass16.functionWithGenericValuesNative, value2: T2 of <root>.MyClass16.functionWithGenericValuesNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass16' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    <T1>: kotlin.CharSequence
                    <T2>: kotlin.String
                    $this: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.MyClass16' type=<root>.MyClass16 origin=null
                    value1: CONST String type=kotlin.String value="OK"
                    value2: CONST String type=kotlin.String value="16"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnInlineSuspendValueNative <T> (value: T of <root>.returnInlineSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    <T>: kotlin.String
                    value: CONST String type=kotlin.String value="OK17"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnNullableSuspendFlowNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnExtensionValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    $receiver: CONST String type=kotlin.String value="OK19"
                CALL 'public final fun with <T, R> (receiver: T of kotlin.with, block: @[ExtensionFunctionType] kotlin.Function1<T of kotlin.with, R of kotlin.with>): R of kotlin.with declared in kotlin' type=kotlin.Unit origin=null
                  <T>: <root>.MyClass20
                  <R>: kotlin.Unit
                  receiver: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.MyClass20' type=<root>.MyClass20 origin=null
                  block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<<root>.MyClass20, kotlin.Unit> origin=LAMBDA
                    FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> ($receiver:<root>.MyClass20) returnType:kotlin.Unit
                      $receiver: VALUE_PARAMETER name:$this$with type:<root>.MyClass20
                      BLOCK_BODY
                        CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                          <T>: kotlin.String
                          $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                          nativeSuspend: CALL 'public final fun returnClassExtensionValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass20' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                            $this: GET_VAR '$this$with: <root>.MyClass20 declared in <root>.box.<anonymous>.<anonymous>' type=<root>.MyClass20 origin=null
                            $receiver: CONST String type=kotlin.String value="OK20"
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String?
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnGenericValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.MyClass21?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass21' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    $this: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.MyClass21' type=<root>.MyClass21<kotlin.String> origin=null
                      <class: T>: kotlin.String
                CALL 'public final fun await <T> (nativeSuspend: kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.BoxTest.await, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeSuspend: CALL 'public final fun returnInterfaceSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.MyClass22' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    $this: CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.MyClass22' type=<root>.MyClass22 origin=null
                CALL 'public final fun collect <T> (nativeFlow: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.BoxTest.collect, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, maxValues: kotlin.Int?): kotlin.Unit declared in com.rickclephas.kmp.nativecoroutines.BoxTest' type=kotlin.Unit origin=null
                  <T>: kotlin.String
                  $this: GET_VAR '$this$runBoxTest: com.rickclephas.kmp.nativecoroutines.BoxTest declared in <root>.box.<anonymous>' type=com.rickclephas.kmp.nativecoroutines.BoxTest origin=null
                  nativeFlow: CALL 'public final fun returnCustomFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
  FUN name:returnCustomFlowValue visibility:public modality:FINAL <> () returnType:<root>.MyFlow23<kotlin.Int, kotlin.String>
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValue (): <root>.MyFlow23<kotlin.Int, kotlin.String> declared in <root>'
        CONSTRUCTOR_CALL 'public constructor <init> (value1: T1 of <root>.MyFlow23, value2: T2 of <root>.MyFlow23) declared in <root>.MyFlow23' type=<root>.MyFlow23<kotlin.Int, kotlin.String> origin=null
          <class: T1>: kotlin.Int
          <class: T2>: kotlin.String
          value1: CONST Int type=kotlin.Int value=23
          value2: CONST String type=kotlin.String value="OK23"
  FUN name:returnExtensionValue visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.String [suspend]
    annotations:
      NativeCoroutines
    $receiver: VALUE_PARAMETER name:<this> type:kotlin.String
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnExtensionValue (): kotlin.String declared in <root>'
        GET_VAR '<this>: kotlin.String declared in <root>.returnExtensionValue' type=kotlin.String origin=null
  FUN name:returnFlowValue visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.Flow<kotlin.String>
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow<kotlin.String> declared in <root>'
        CALL 'public final fun flowOf <T> (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow<T of kotlinx.coroutines.flow.flowOf> declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow<kotlin.String> origin=null
          <T>: kotlin.String
          value: CONST String type=kotlin.String value="OK3"
  FUN name:returnGenericSuspendValue visibility:public modality:FINAL <T> (value:T of <root>.returnGenericSuspendValue) returnType:T of <root>.returnGenericSuspendValue [suspend]
    annotations:
      NativeCoroutines
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    VALUE_PARAMETER name:value index:0 type:T of <root>.returnGenericSuspendValue
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValue <T> (value: T of <root>.returnGenericSuspendValue): T of <root>.returnGenericSuspendValue declared in <root>'
        GET_VAR 'value: T of <root>.returnGenericSuspendValue declared in <root>.returnGenericSuspendValue' type=T of <root>.returnGenericSuspendValue origin=null
  FUN name:returnInlineSuspendValue visibility:public modality:FINAL <T> (value:T of <root>.returnInlineSuspendValue) returnType:T of <root>.returnInlineSuspendValue [inline,suspend]
    annotations:
      NativeCoroutines
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?] reified:true
    VALUE_PARAMETER name:value index:0 type:T of <root>.returnInlineSuspendValue
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValue <T> (value: T of <root>.returnInlineSuspendValue): T of <root>.returnInlineSuspendValue declared in <root>'
        GET_VAR 'value: T of <root>.returnInlineSuspendValue declared in <root>.returnInlineSuspendValue' type=T of <root>.returnInlineSuspendValue origin=null
  FUN name:returnNullableFlow visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.Flow<kotlin.String>?
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>'
        CONST Null type=kotlin.Nothing? value=null
  FUN name:returnNullableFlowAndValue visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.Flow<kotlin.String?>?
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow<kotlin.String?>? declared in <root>'
        CONST Null type=kotlin.Nothing? value=null
  FUN name:returnNullableFlowValue visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.Flow<kotlin.String?>
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow<kotlin.String?> declared in <root>'
        CALL 'public final fun flowOf <T> (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow<T of kotlinx.coroutines.flow.flowOf> declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow<kotlin.String?> origin=null
          <T>: kotlin.String?
          value: CONST Null type=kotlin.Nothing? value=null
  FUN name:returnNullableSuspendFlow visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.Flow<kotlin.String>? [suspend]
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>'
        CONST Null type=kotlin.Nothing? value=null
  FUN name:returnNullableSuspendValue visibility:public modality:FINAL <> () returnType:kotlin.String? [suspend]
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValue (): kotlin.String? declared in <root>'
        CONST Null type=kotlin.Nothing? value=null
  FUN name:returnRefinedSuspendValue visibility:public modality:FINAL <> () returnType:kotlin.String [suspend]
    annotations:
      NativeCoroutinesRefined
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValue (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK13"
  FUN name:returnStateFlowValue visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.StateFlow<kotlin.String>
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow<kotlin.String> declared in <root>'
        CALL 'public final fun MutableStateFlow <T> (value: T of kotlinx.coroutines.flow.MutableStateFlow): kotlinx.coroutines.flow.MutableStateFlow<T of kotlinx.coroutines.flow.MutableStateFlow> declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.MutableStateFlow<kotlin.String> origin=null
          <T>: kotlin.String
          value: CONST String type=kotlin.String value="OK7"
  FUN name:returnSuspendFlowValue visibility:public modality:FINAL <> () returnType:kotlinx.coroutines.flow.Flow<kotlin.String> [suspend]
    annotations:
      NativeCoroutinesRefined
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow<kotlin.String> declared in <root>'
        CALL 'public final fun flowOf <T> (value: T of kotlinx.coroutines.flow.flowOf): kotlinx.coroutines.flow.Flow<T of kotlinx.coroutines.flow.flowOf> declared in kotlinx.coroutines.flow' type=kotlinx.coroutines.flow.Flow<kotlin.String> origin=null
          <T>: kotlin.String
          value: CONST String type=kotlin.String value="OK14"
  FUN name:returnSuspendParameterValue visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Int [suspend]
    annotations:
      NativeCoroutines
    VALUE_PARAMETER name:value index:0 type:kotlin.Int
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in <root>'
        GET_VAR 'value: kotlin.Int declared in <root>.returnSuspendParameterValue' type=kotlin.Int origin=null
  FUN name:returnSuspendParameterValue visibility:public modality:FINAL <> (value:kotlin.String) returnType:kotlin.String [suspend]
    annotations:
      NativeCoroutines
    VALUE_PARAMETER name:value index:0 type:kotlin.String
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in <root>'
        GET_VAR 'value: kotlin.String declared in <root>.returnSuspendParameterValue' type=kotlin.String origin=null
  FUN name:returnSuspendValue visibility:public modality:FINAL <> () returnType:kotlin.String [suspend]
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnSuspendValue (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK1"
  FUN name:returnSuspendVarargValue visibility:public modality:FINAL <> (values:kotlin.Array<out kotlin.String>) returnType:kotlin.String [suspend]
    annotations:
      NativeCoroutines
    VALUE_PARAMETER name:values index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in <root>'
        CALL 'public final fun get (index: kotlin.Int): T of kotlin.Array declared in kotlin.Array' type=kotlin.String origin=GET_ARRAY_ELEMENT
          $this: GET_VAR 'values: kotlin.Array<out kotlin.String> declared in <root>.returnSuspendVarargValue' type=kotlin.Array<out kotlin.String> origin=null
          index: CONST Int type=kotlin.Int value=0
  FUN name:returnThrowsSuspendValue visibility:public modality:FINAL <> () returnType:kotlin.String [suspend]
    annotations:
      NativeCoroutines
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValue (): kotlin.String declared in <root>'
        CONST String type=kotlin.String value="OK10"
FILE fqName:<root> fileName:__GENERATED DECLARATIONS__.kt
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnCustomFlowValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnCustomFlowValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      VAR IR_TEMPORARY_VARIABLE name:tmp_1 type:<root>.MyFlow23<kotlin.Int, kotlin.String> [val]
        CALL 'public final fun returnCustomFlowValue (): <root>.MyFlow23<kotlin.Int, kotlin.String> declared in <root>' type=<root>.MyFlow23<kotlin.Int, kotlin.String> origin=null
      RETURN type=kotlin.Nothing from='public final fun returnCustomFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          $receiver: GET_VAR 'val tmp_1: <root>.MyFlow23<kotlin.Int, kotlin.String> declared in <root>.returnCustomFlowValueNative' type=<root>.MyFlow23<kotlin.Int, kotlin.String> origin=null
          scope: GET_VAR 'val tmp_0: kotlinx.coroutines.CoroutineScope? declared in <root>.returnCustomFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnExtensionValueNative visibility:public modality:FINAL <> ($receiver:kotlin.String) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnExtensionValue", swiftName = <null>, exact = <null>)
    $receiver: VALUE_PARAMETER name:<this> type:kotlin.String
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_2 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnExtensionValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          scope: GET_VAR 'val tmp_2: kotlinx.coroutines.CoroutineScope? declared in <root>.returnExtensionValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.returnExtensionValueNative'
                  CALL 'public final fun returnExtensionValue (): kotlin.String declared in <root>' type=kotlin.String origin=null
                    $receiver: GET_VAR '<this>: kotlin.String declared in <root>.returnExtensionValueNative' type=kotlin.String origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnFlowValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnFlowValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_3 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      VAR IR_TEMPORARY_VARIABLE name:tmp_4 type:kotlinx.coroutines.flow.Flow<kotlin.String> [val]
        CALL 'public final fun returnFlowValue (): kotlinx.coroutines.flow.Flow<kotlin.String> declared in <root>' type=kotlinx.coroutines.flow.Flow<kotlin.String> origin=null
      RETURN type=kotlin.Nothing from='public final fun returnFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          $receiver: GET_VAR 'val tmp_4: kotlinx.coroutines.flow.Flow<kotlin.String> declared in <root>.returnFlowValueNative' type=kotlinx.coroutines.flow.Flow<kotlin.String> origin=null
          scope: GET_VAR 'val tmp_3: kotlinx.coroutines.CoroutineScope? declared in <root>.returnFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnGenericSuspendValueNative visibility:public modality:FINAL <T> (value:T of <root>.returnGenericSuspendValueNative) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnGenericSuspendValue", swiftName = <null>, exact = <null>)
    TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:false
    VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:value index:0 type:T of <root>.returnGenericSuspendValueNative
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_5 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnGenericSuspendValueNative <T> (value: T of <root>.returnGenericSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnGenericSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnGenericSuspendValue, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: T of <root>.returnGenericSuspendValue
          scope: GET_VAR 'val tmp_5: kotlinx.coroutines.CoroutineScope? declared in <root>.returnGenericSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<T of <root>.returnGenericSuspendValue> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:T of <root>.returnGenericSuspendValue [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): T of <root>.returnGenericSuspendValue declared in <root>.returnGenericSuspendValueNative'
                  CALL 'public final fun returnGenericSuspendValue <T> (value: T of <root>.returnGenericSuspendValue): T of <root>.returnGenericSuspendValue declared in <root>' type=T of <root>.returnGenericSuspendValue origin=null
                    <T>: T of <root>.returnGenericSuspendValueNative
                    value: GET_VAR 'value: T of <root>.returnGenericSuspendValueNative declared in <root>.returnGenericSuspendValueNative' type=T of <root>.returnGenericSuspendValueNative origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnInlineSuspendValueNative visibility:public modality:FINAL <T> (value:T of <root>.returnInlineSuspendValueNative) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> [inline]
    annotations:
      ObjCName(name = "returnInlineSuspendValue", swiftName = <null>, exact = <null>)
    TYPE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:T index:0 variance: superTypes:[kotlin.Any?] reified:true
    VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:value index:0 type:T of <root>.returnInlineSuspendValueNative
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_6 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnInlineSuspendValueNative <T> (value: T of <root>.returnInlineSuspendValueNative): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnInlineSuspendValueNative, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of <root>.returnInlineSuspendValue, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: T of <root>.returnInlineSuspendValue
          scope: GET_VAR 'val tmp_6: kotlinx.coroutines.CoroutineScope? declared in <root>.returnInlineSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<T of <root>.returnInlineSuspendValue> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:T of <root>.returnInlineSuspendValue [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): T of <root>.returnInlineSuspendValue declared in <root>.returnInlineSuspendValueNative'
                  CALL 'public final fun returnInlineSuspendValue <T> (value: T of <root>.returnInlineSuspendValue): T of <root>.returnInlineSuspendValue declared in <root>' type=T of <root>.returnInlineSuspendValue origin=null
                    <T>: T of <root>.returnInlineSuspendValueNative
                    value: GET_VAR 'value: T of <root>.returnInlineSuspendValueNative declared in <root>.returnInlineSuspendValueNative' type=T of <root>.returnInlineSuspendValueNative origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowAndValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?
    annotations:
      ObjCName(name = "returnNullableFlowAndValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_7 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      VAR IR_TEMPORARY_VARIABLE name:tmp_8 type:kotlinx.coroutines.flow.Flow<kotlin.String?>? [val]
        CALL 'public final fun returnNullableFlowAndValue (): kotlinx.coroutines.flow.Flow<kotlin.String?>? declared in <root>' type=kotlinx.coroutines.flow.Flow<kotlin.String?>? origin=null
      RETURN type=kotlin.Nothing from='public final fun returnNullableFlowAndValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? declared in <root>'
        WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? origin=null
          BRANCH
            if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
              arg0: GET_VAR 'val tmp_8: kotlinx.coroutines.flow.Flow<kotlin.String?>? declared in <root>.returnNullableFlowAndValueNative' type=kotlinx.coroutines.flow.Flow<kotlin.String?>? origin=null
              arg1: CONST Null type=kotlin.Nothing? value=null
            then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? value=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
              <T>: kotlin.String?
              $receiver: GET_VAR 'val tmp_8: kotlinx.coroutines.flow.Flow<kotlin.String?>? declared in <root>.returnNullableFlowAndValueNative' type=kotlinx.coroutines.flow.Flow<kotlin.String?>? origin=null
              scope: GET_VAR 'val tmp_7: kotlinx.coroutines.CoroutineScope? declared in <root>.returnNullableFlowAndValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?
    annotations:
      ObjCName(name = "returnNullableFlow", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_9 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      VAR IR_TEMPORARY_VARIABLE name:tmp_10 type:kotlinx.coroutines.flow.Flow<kotlin.String>? [val]
        CALL 'public final fun returnNullableFlow (): kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>' type=kotlinx.coroutines.flow.Flow<kotlin.String>? origin=null
      RETURN type=kotlin.Nothing from='public final fun returnNullableFlowNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? declared in <root>'
        WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? origin=null
          BRANCH
            if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
              arg0: GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>.returnNullableFlowNative' type=kotlinx.coroutines.flow.Flow<kotlin.String>? origin=null
              arg1: CONST Null type=kotlin.Nothing? value=null
            then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? value=null
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
              <T>: kotlin.String
              $receiver: GET_VAR 'val tmp_10: kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>.returnNullableFlowNative' type=kotlinx.coroutines.flow.Flow<kotlin.String>? origin=null
              scope: GET_VAR 'val tmp_9: kotlinx.coroutines.CoroutineScope? declared in <root>.returnNullableFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableFlowValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnNullableFlowValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_11 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      VAR IR_TEMPORARY_VARIABLE name:tmp_12 type:kotlinx.coroutines.flow.Flow<kotlin.String?> [val]
        CALL 'public final fun returnNullableFlowValue (): kotlinx.coroutines.flow.Flow<kotlin.String?> declared in <root>' type=kotlinx.coroutines.flow.Flow<kotlin.String?> origin=null
      RETURN type=kotlin.Nothing from='public final fun returnNullableFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String?, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String?
          $receiver: GET_VAR 'val tmp_12: kotlinx.coroutines.flow.Flow<kotlin.String?> declared in <root>.returnNullableFlowValueNative' type=kotlinx.coroutines.flow.Flow<kotlin.String?> origin=null
          scope: GET_VAR 'val tmp_11: kotlinx.coroutines.CoroutineScope? declared in <root>.returnNullableFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendFlowNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnNullableSuspendFlow", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_13 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendFlowNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?
          scope: GET_VAR 'val tmp_13: kotlinx.coroutines.CoroutineScope? declared in <root>.returnNullableSuspendFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>?> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? [suspend]
              BLOCK_BODY
                VAR IR_TEMPORARY_VARIABLE name:tmp_14 type:kotlinx.coroutines.flow.Flow<kotlin.String>? [val]
                  CALL 'public final fun returnNullableSuspendFlow (): kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>' type=kotlinx.coroutines.flow.Flow<kotlin.String>? origin=null
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? declared in <root>.returnNullableSuspendFlowNative'
                  WHEN type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? origin=null
                    BRANCH
                      if: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                        arg0: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>.returnNullableSuspendFlowNative.<anonymous>' type=kotlinx.coroutines.flow.Flow<kotlin.String>? origin=null
                        arg1: CONST Null type=kotlin.Nothing? value=null
                      then: CONST Null type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>? value=null
                    BRANCH
                      if: CONST Boolean type=kotlin.Boolean value=true
                      then: CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                        <T>: kotlin.String
                        $receiver: GET_VAR 'val tmp_14: kotlinx.coroutines.flow.Flow<kotlin.String>? declared in <root>.returnNullableSuspendFlowNative.<anonymous>' type=kotlinx.coroutines.flow.Flow<kotlin.String>? origin=null
                        scope: GET_VAR 'val tmp_13: kotlinx.coroutines.CoroutineScope? declared in <root>.returnNullableSuspendFlowNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnNullableSuspendValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnNullableSuspendValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_15 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnNullableSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String?
          scope: GET_VAR 'val tmp_15: kotlinx.coroutines.CoroutineScope? declared in <root>.returnNullableSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String?> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String? [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String? declared in <root>.returnNullableSuspendValueNative'
                  CALL 'public final fun returnNullableSuspendValue (): kotlin.String? declared in <root>' type=kotlin.String? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnRefinedSuspendValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnRefinedSuspendValue", swiftName = <null>, exact = <null>)
      ShouldRefineInSwift
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_16 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnRefinedSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          scope: GET_VAR 'val tmp_16: kotlinx.coroutines.CoroutineScope? declared in <root>.returnRefinedSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.returnRefinedSuspendValueNative'
                  CALL 'public final fun returnRefinedSuspendValue (): kotlin.String declared in <root>' type=kotlin.String origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnStateFlowValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnStateFlowValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_17 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      VAR IR_TEMPORARY_VARIABLE name:tmp_18 type:kotlinx.coroutines.flow.StateFlow<kotlin.String> [val]
        CALL 'public final fun returnStateFlowValue (): kotlinx.coroutines.flow.StateFlow<kotlin.String> declared in <root>' type=kotlinx.coroutines.flow.StateFlow<kotlin.String> origin=null
      RETURN type=kotlin.Nothing from='public final fun returnStateFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          $receiver: GET_VAR 'val tmp_18: kotlinx.coroutines.flow.StateFlow<kotlin.String> declared in <root>.returnStateFlowValueNative' type=kotlinx.coroutines.flow.StateFlow<kotlin.String> origin=null
          scope: GET_VAR 'val tmp_17: kotlinx.coroutines.CoroutineScope? declared in <root>.returnStateFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendFlowValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnSuspendFlowValue", swiftName = <null>, exact = <null>)
      ShouldRefineInSwift
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_19 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnSuspendFlowValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
          scope: GET_VAR 'val tmp_19: kotlinx.coroutines.CoroutineScope? declared in <root>.returnSuspendFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> [suspend]
              BLOCK_BODY
                VAR IR_TEMPORARY_VARIABLE name:tmp_20 type:kotlinx.coroutines.flow.Flow<kotlin.String> [val]
                  CALL 'public final fun returnSuspendFlowValue (): kotlinx.coroutines.flow.Flow<kotlin.String> declared in <root>' type=kotlinx.coroutines.flow.Flow<kotlin.String> origin=null
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>.returnSuspendFlowValueNative'
                  CALL 'public final fun asNativeFlow <T> (scope: kotlinx.coroutines.CoroutineScope?): kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<T of com.rickclephas.kmp.nativecoroutines.asNativeFlow, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onItem")] kotlin.Function3<kotlin.String, kotlin.Function0<kotlin.Unit>, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onComplete")] kotlin.Function2<kotlin.Throwable?, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
                    <T>: kotlin.String
                    $receiver: GET_VAR 'val tmp_20: kotlinx.coroutines.flow.Flow<kotlin.String> declared in <root>.returnSuspendFlowValueNative.<anonymous>' type=kotlinx.coroutines.flow.Flow<kotlin.String> origin=null
                    scope: GET_VAR 'val tmp_19: kotlinx.coroutines.CoroutineScope? declared in <root>.returnSuspendFlowValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL <> (value:kotlin.Int) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Int, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnSuspendParameterValue", swiftName = <null>, exact = <null>)
    VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:value index:0 type:kotlin.Int
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_21 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.Int): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Int, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.Int, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.Int
          scope: GET_VAR 'val tmp_21: kotlinx.coroutines.CoroutineScope? declared in <root>.returnSuspendParameterValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.Int> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.Int [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.Int declared in <root>.returnSuspendParameterValueNative'
                  CALL 'public final fun returnSuspendParameterValue (value: kotlin.Int): kotlin.Int declared in <root>' type=kotlin.Int origin=null
                    value: GET_VAR 'value: kotlin.Int declared in <root>.returnSuspendParameterValueNative' type=kotlin.Int origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendParameterValueNative visibility:public modality:FINAL <> (value:kotlin.String) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnSuspendParameterValue", swiftName = <null>, exact = <null>)
    VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:value index:0 type:kotlin.String
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_22 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnSuspendParameterValueNative (value: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          scope: GET_VAR 'val tmp_22: kotlinx.coroutines.CoroutineScope? declared in <root>.returnSuspendParameterValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.returnSuspendParameterValueNative'
                  CALL 'public final fun returnSuspendParameterValue (value: kotlin.String): kotlin.String declared in <root>' type=kotlin.String origin=null
                    value: GET_VAR 'value: kotlin.String declared in <root>.returnSuspendParameterValueNative' type=kotlin.String origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnSuspendValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_23 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          scope: GET_VAR 'val tmp_23: kotlinx.coroutines.CoroutineScope? declared in <root>.returnSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.returnSuspendValueNative'
                  CALL 'public final fun returnSuspendValue (): kotlin.String declared in <root>' type=kotlin.String origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnSuspendVarargValueNative visibility:public modality:FINAL <> (values:kotlin.Array<out kotlin.String>) returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnSuspendVarargValue", swiftName = <null>, exact = <null>)
    VALUE_PARAMETER GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:values index:0 type:kotlin.Array<out kotlin.String> varargElementType:kotlin.String [vararg]
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_24 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnSuspendVarargValueNative (vararg values: kotlin.String): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          scope: GET_VAR 'val tmp_24: kotlinx.coroutines.CoroutineScope? declared in <root>.returnSuspendVarargValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.returnSuspendVarargValueNative'
                  CALL 'public final fun returnSuspendVarargValue (vararg values: kotlin.String): kotlin.String declared in <root>' type=kotlin.String origin=null
                    values: GET_VAR 'values: kotlin.Array<out kotlin.String> declared in <root>.returnSuspendVarargValueNative' type=kotlin.Array<out kotlin.String> origin=null
  FUN GENERATED[com.rickclephas.kmp.nativecoroutines.compiler.fir.utils.NativeCoroutinesDeclarationKey] name:returnThrowsSuspendValueNative visibility:public modality:FINAL <> () returnType:kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>>
    annotations:
      ObjCName(name = "returnThrowsSuspendValue", swiftName = <null>, exact = <null>)
    BLOCK_BODY
      VAR IR_TEMPORARY_VARIABLE name:tmp_25 type:kotlinx.coroutines.CoroutineScope? [val]
        CONST Null type=kotlinx.coroutines.CoroutineScope? value=null
      RETURN type=kotlin.Nothing from='public final fun returnThrowsSuspendValueNative (): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in <root>'
        CALL 'public final fun nativeSuspend <T> (scope: kotlinx.coroutines.CoroutineScope?, block: kotlin.coroutines.SuspendFunction0<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend>): kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<T of com.rickclephas.kmp.nativecoroutines.nativeSuspend, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> declared in com.rickclephas.kmp.nativecoroutines' type=kotlin.Function3<@[ParameterName(name = "onResult")] kotlin.Function2<kotlin.String, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onError")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, @[ParameterName(name = "onCancelled")] kotlin.Function2<kotlin.Throwable, kotlin.Unit, kotlin.Unit>, kotlin.Function0<kotlin.Unit>> origin=null
          <T>: kotlin.String
          scope: GET_VAR 'val tmp_25: kotlinx.coroutines.CoroutineScope? declared in <root>.returnThrowsSuspendValueNative' type=kotlinx.coroutines.CoroutineScope? origin=null
          block: FUN_EXPR type=kotlin.coroutines.SuspendFunction0<kotlin.String> origin=LAMBDA
            FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL <> () returnType:kotlin.String [suspend]
              BLOCK_BODY
                RETURN type=kotlin.Nothing from='local final fun <anonymous> (): kotlin.String declared in <root>.returnThrowsSuspendValueNative'
                  CALL 'public final fun returnThrowsSuspendValue (): kotlin.String declared in <root>' type=kotlin.String origin=null
