Module: a
FILE fqName:<root> fileName:/module_a_classWithAllPropertiesConstructor.kt
  CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.A
    PROPERTY name:s visibility:public modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
        EXPRESSION_BODY
          GET_VAR 's: kotlin.String declared in <root>.A.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL returnType:kotlin.String
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.A
        correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in <root>.A'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
              receiver: GET_VAR '<this>: <root>.A declared in <root>.A.<get-s>' type=<root>.A origin=null
    CONSTRUCTOR visibility:public returnType:<root>.A [primary]
      VALUE_PARAMETER kind:Regular name:s index:0 type:kotlin.String
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:A modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
  CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.B
    PROPERTY name:s visibility:public modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
        EXPRESSION_BODY
          GET_VAR 's: kotlin.String declared in <root>.B.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL returnType:kotlin.String
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.B
        correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in <root>.B'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
              receiver: GET_VAR '<this>: <root>.B declared in <root>.B.<get-s>' type=<root>.B origin=null
    CONSTRUCTOR visibility:public returnType:<root>.B [primary]
      VALUE_PARAMETER kind:Regular name:s index:0 type:kotlin.String
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:B modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
  CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]
    annotations:
      AllPropertiesConstructor
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.Base
    PROPERTY name:a visibility:public modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:a type:<root>.A visibility:private [final]
        EXPRESSION_BODY
          CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in <root>.A' type=<root>.A origin=null
            ARG s: CONST String type=kotlin.String value="a"
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-a> visibility:public modality:FINAL returnType:<root>.A
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
        correspondingProperty: PROPERTY name:a visibility:public modality:FINAL [val]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='public final fun <get-a> (): <root>.A declared in <root>.Base'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:a type:<root>.A visibility:private [final]' type=<root>.A origin=null
              receiver: GET_VAR '<this>: <root>.Base declared in <root>.Base.<get-a>' type=<root>.Base origin=null
    PROPERTY name:b visibility:public modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:b type:<root>.B visibility:private [final]
        EXPRESSION_BODY
          CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in <root>.B' type=<root>.B origin=null
            ARG s: CONST String type=kotlin.String value="b"
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-b> visibility:public modality:FINAL returnType:<root>.B
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
        correspondingProperty: PROPERTY name:b visibility:public modality:FINAL [val]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='public final fun <get-b> (): <root>.B declared in <root>.Base'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:b type:<root>.B visibility:private [final]' type=<root>.B origin=null
              receiver: GET_VAR '<this>: <root>.Base declared in <root>.Base.<get-b>' type=<root>.Base origin=null
    CONSTRUCTOR visibility:public returnType:<root>.Base [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Base modality:OPEN visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
    CONSTRUCTOR visibility:public returnType:<root>.Base
      VALUE_PARAMETER kind:Regular name:a index:0 type:<root>.A
      VALUE_PARAMETER kind:Regular name:b index:1 type:<root>.B
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
    FUN name:hasContext visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
      VALUE_PARAMETER kind:Context name:c index:1 type:kotlin.String
      BLOCK_BODY
    FUN name:hasExtension visibility:public modality:FINAL returnType:kotlin.Unit
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
      VALUE_PARAMETER kind:ExtensionReceiver name:$receiver index:1 type:kotlin.String
      BLOCK_BODY
  CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.C
    PROPERTY name:s visibility:public modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]
        EXPRESSION_BODY
          GET_VAR 's: kotlin.String declared in <root>.C.<init>' type=kotlin.String origin=INITIALIZE_PROPERTY_FROM_PARAMETER
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-s> visibility:public modality:FINAL returnType:kotlin.String
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.C
        correspondingProperty: PROPERTY name:s visibility:public modality:FINAL [val]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='public final fun <get-s> (): kotlin.String declared in <root>.C'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:s type:kotlin.String visibility:private [final]' type=kotlin.String origin=null
              receiver: GET_VAR '<this>: <root>.C declared in <root>.C.<get-s>' type=<root>.C origin=null
    CONSTRUCTOR visibility:public returnType:<root>.C [primary]
      VALUE_PARAMETER kind:Regular name:s index:0 type:kotlin.String
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in kotlin.Any'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:C modality:FINAL visibility:public superTypes:[kotlin.Any]' type=kotlin.Unit
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in kotlin.Any
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in kotlin.Any
Module: b
FILE fqName:<root> fileName:/Derived.kt
  CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.Base]
    annotations:
      AllPropertiesConstructor
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.Derived
    PROPERTY name:c visibility:public modality:FINAL [val]
      FIELD PROPERTY_BACKING_FIELD name:c type:<root>.C visibility:private [final]
        EXPRESSION_BODY
          CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in <root>.C' type=<root>.C origin=null
            ARG s: CONST String type=kotlin.String value="c"
      FUN DEFAULT_PROPERTY_ACCESSOR name:<get-c> visibility:public modality:FINAL returnType:<root>.C
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Derived
        correspondingProperty: PROPERTY name:c visibility:public modality:FINAL [val]
        BLOCK_BODY
          RETURN type=kotlin.Nothing from='public final fun <get-c> (): <root>.C declared in <root>.Derived'
            GET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:c type:<root>.C visibility:private [final]' type=<root>.C origin=null
              receiver: GET_VAR '<this>: <root>.Derived declared in <root>.Derived.<get-c>' type=<root>.Derived origin=null
    CONSTRUCTOR visibility:public returnType:<root>.Derived [primary]
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () declared in <root>.Base'
        INSTANCE_INITIALIZER_CALL classDescriptor='CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.Base]' type=kotlin.Unit
    CONSTRUCTOR visibility:public returnType:<root>.Derived
      VALUE_PARAMETER kind:Regular name:a index:0 type:<root>.A
      VALUE_PARAMETER kind:Regular name:b index:1 type:<root>.B
      VALUE_PARAMETER kind:Regular name:c index:2 type:<root>.C
      BLOCK_BODY
        DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> (a: <root>.A, b: <root>.B) declared in <root>.Base'
          ARG a: GET_VAR 'a: <root>.A declared in <root>.Derived.<init>' type=<root>.A origin=null
          ARG b: GET_VAR 'b: <root>.B declared in <root>.Derived.<init>' type=<root>.B origin=null
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN returnType:kotlin.Boolean [fake_override,operator]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      VALUE_PARAMETER kind:Regular name:other index:1 type:kotlin.Any?
      overridden:
        public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in <root>.Base
    FUN FAKE_OVERRIDE name:hasContext visibility:public modality:FINAL returnType:kotlin.Unit [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
      VALUE_PARAMETER kind:Context name:c index:1 type:kotlin.String
      overridden:
        public final fun hasContext (c: kotlin.String): kotlin.Unit declared in <root>.Base
    FUN FAKE_OVERRIDE name:hasExtension visibility:public modality:FINAL returnType:kotlin.Unit [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
      VALUE_PARAMETER kind:ExtensionReceiver name:<this> index:1 type:kotlin.String
      overridden:
        public final fun hasExtension (<this>: kotlin.String): kotlin.Unit declared in <root>.Base
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN returnType:kotlin.Int [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun hashCode (): kotlin.Int declared in <root>.Base
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN returnType:kotlin.String [fake_override]
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:kotlin.Any
      overridden:
        public open fun toString (): kotlin.String declared in <root>.Base
    PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val]
      overridden:
        public final a: <root>.A declared in <root>.Base
      FUN FAKE_OVERRIDE name:<get-a> visibility:public modality:FINAL returnType:<root>.A [fake_override]
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:a visibility:public modality:FINAL [fake_override,val]
        overridden:
          public final fun <get-a> (): <root>.A declared in <root>.Base
    PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,val]
      overridden:
        public final b: <root>.B declared in <root>.Base
      FUN FAKE_OVERRIDE name:<get-b> visibility:public modality:FINAL returnType:<root>.B [fake_override]
        VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.Base
        correspondingProperty: PROPERTY FAKE_OVERRIDE name:b visibility:public modality:FINAL [fake_override,val]
        overridden:
          public final fun <get-b> (): <root>.B declared in <root>.Base
FILE fqName:<root> fileName:/main.kt
  FUN name:box visibility:public modality:FINAL returnType:kotlin.String
    BLOCK_BODY
      VAR name:constructor type:java.lang.reflect.Constructor<<root>.Derived> [val]
        CALL 'public final fun CHECK_NOT_NULL <T0> (arg0: T0 of kotlin.internal.ir.CHECK_NOT_NULL?): {T0 of kotlin.internal.ir.CHECK_NOT_NULL & Any} declared in kotlin.internal.ir' type=java.lang.reflect.Constructor<<root>.Derived> origin=EXCLEXCL
          TYPE_ARG T0: java.lang.reflect.Constructor<<root>.Derived>
          ARG arg0: CALL 'public final fun <get-javaConstructor> <T> (<this>: kotlin.reflect.KFunction<T of kotlin.reflect.jvm.<get-javaConstructor>>): java.lang.reflect.Constructor<T of kotlin.reflect.jvm.<get-javaConstructor>>? declared in kotlin.reflect.jvm' type=java.lang.reflect.Constructor<<root>.Derived>? origin=GET_PROPERTY
            TYPE_ARG T: <root>.Derived
            ARG <this>: CALL 'public final fun first <T> (<this>: kotlin.collections.Iterable<T of kotlin.collections.first>, predicate: kotlin.Function1<T of kotlin.collections.first, kotlin.Boolean>): T of kotlin.collections.first declared in kotlin.collections' type=kotlin.reflect.KFunction<<root>.Derived> origin=null
              TYPE_ARG T: kotlin.reflect.KFunction<<root>.Derived>
              ARG <this>: CALL 'public abstract fun <get-constructors> (): kotlin.collections.Collection<kotlin.reflect.KFunction<T of kotlin.reflect.KClass>> declared in kotlin.reflect.KClass' type=kotlin.collections.Collection<kotlin.reflect.KFunction<<root>.Derived>> origin=GET_PROPERTY
                ARG <this>: CLASS_REFERENCE 'CLASS CLASS name:Derived modality:FINAL visibility:public superTypes:[<root>.Base]' type=kotlin.reflect.KClass<<root>.Derived>
              ARG predicate: FUN_EXPR type=kotlin.Function1<kotlin.reflect.KFunction<<root>.Derived>, kotlin.Boolean> origin=LAMBDA
                FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Boolean
                  VALUE_PARAMETER kind:Regular name:it index:0 type:kotlin.reflect.KFunction<<root>.Derived>
                  BLOCK_BODY
                    RETURN type=kotlin.Nothing from='local final fun <anonymous> (it: kotlin.reflect.KFunction<<root>.Derived>): kotlin.Boolean declared in <root>.box'
                      CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EQEQ
                        ARG arg0: CALL 'public abstract fun <get-size> (): kotlin.Int declared in kotlin.collections.List' type=kotlin.Int origin=GET_PROPERTY
                          ARG <this>: CALL 'public final fun <get-valueParameters> (<this>: kotlin.reflect.KCallable<*>): kotlin.collections.List<kotlin.reflect.KParameter> declared in kotlin.reflect.full' type=kotlin.collections.List<kotlin.reflect.KParameter> origin=GET_PROPERTY
                            ARG <this>: GET_VAR 'it: kotlin.reflect.KFunction<<root>.Derived> declared in <root>.box.<anonymous>' type=kotlin.reflect.KFunction<<root>.Derived> origin=null
                        ARG arg1: CONST Int type=kotlin.Int value=3
      VAR name:derived type:@[FlexibleNullability] <root>.Derived? [val]
        CALL 'public open fun newInstance (vararg p0: @[FlexibleNullability] kotlin.Any?): @[FlexibleNullability] T of java.lang.reflect.Constructor? declared in java.lang.reflect.Constructor' type=@[FlexibleNullability] <root>.Derived? origin=null
          ARG <this>: GET_VAR 'val constructor: java.lang.reflect.Constructor<<root>.Derived> declared in <root>.box' type=java.lang.reflect.Constructor<<root>.Derived> origin=null
          ARG p0: VARARG type=@[FlexibleNullability] @[FlexibleArrayElementVariance] kotlin.Array<out @[FlexibleNullability] kotlin.Any?>? varargElementType=@[FlexibleNullability] kotlin.Any?
            CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in <root>.A' type=<root>.A origin=null
              ARG s: CONST String type=kotlin.String value="a"
            CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in <root>.B' type=<root>.B origin=null
              ARG s: CONST String type=kotlin.String value="b"
            CONSTRUCTOR_CALL 'public constructor <init> (s: kotlin.String) declared in <root>.C' type=<root>.C origin=null
              ARG s: CONST String type=kotlin.String value="c"
      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
        TYPE_ARG T: @[FlexibleNullability] <root>.Derived?
        TYPE_ARG R: kotlin.Unit
        ARG receiver: GET_VAR 'val derived: @[FlexibleNullability] <root>.Derived? declared in <root>.box' type=@[FlexibleNullability] <root>.Derived? origin=null
        ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<@[FlexibleNullability] <root>.Derived?, kotlin.Unit> origin=LAMBDA
          FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
            VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:@[FlexibleNullability] <root>.Derived?
            BLOCK_BODY
              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
                TYPE_ARG T: kotlin.String
                TYPE_ARG R: kotlin.Unit
                ARG receiver: CONST String type=kotlin.String value=""
                ARG block: FUN_EXPR type=@[ExtensionFunctionType] kotlin.Function1<kotlin.String, kotlin.Unit> origin=LAMBDA
                  FUN LOCAL_FUNCTION_FOR_LAMBDA name:<anonymous> visibility:local modality:FINAL returnType:kotlin.Unit
                    VALUE_PARAMETER kind:ExtensionReceiver name:$this$with index:0 type:kotlin.String
                    BLOCK_BODY
                      CALL 'public final fun hasExtension (<this>: kotlin.String): kotlin.Unit declared in <root>.Derived' type=kotlin.Unit origin=null
                        ARG <this>(index:0): TYPE_OP type=<root>.Derived origin=IMPLICIT_NOTNULL typeOperand=<root>.Derived
                          GET_VAR '$this$with: @[FlexibleNullability] <root>.Derived? declared in <root>.box.<anonymous>' type=@[FlexibleNullability] <root>.Derived? origin=IMPLICIT_ARGUMENT
                        ARG <this>(index:1): GET_VAR '$this$with: kotlin.String declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.String origin=IMPLICIT_ARGUMENT
                      CALL 'public final fun hasContext (c: kotlin.String): kotlin.Unit declared in <root>.Derived' type=kotlin.Unit origin=null
                        ARG <this>: TYPE_OP type=<root>.Derived origin=IMPLICIT_NOTNULL typeOperand=<root>.Derived
                          GET_VAR '$this$with: @[FlexibleNullability] <root>.Derived? declared in <root>.box.<anonymous>' type=@[FlexibleNullability] <root>.Derived? origin=IMPLICIT_ARGUMENT
                        ARG c: GET_VAR '$this$with: kotlin.String declared in <root>.box.<anonymous>.<anonymous>' type=kotlin.String origin=IMPLICIT_ARGUMENT
      RETURN type=kotlin.Nothing from='public final fun box (): kotlin.String declared in <root>'
        WHEN type=kotlin.String origin=IF
          BRANCH
            if: CALL 'public final fun not (): kotlin.Boolean declared in kotlin.Boolean' type=kotlin.Boolean origin=EXCLEQ
              ARG <this>: CALL 'public final fun EQEQ (arg0: kotlin.Any?, arg1: kotlin.Any?): kotlin.Boolean declared in kotlin.internal.ir' type=kotlin.Boolean origin=EXCLEQ
                ARG arg0: GET_VAR 'val derived: @[FlexibleNullability] <root>.Derived? declared in <root>.box' type=@[FlexibleNullability] <root>.Derived? origin=null
                ARG arg1: CONST Null type=kotlin.Nothing? value=null
            then: CONST String type=kotlin.String value="OK"
          BRANCH
            if: CONST Boolean type=kotlin.Boolean value=true
            then: CONST String type=kotlin.String value="Error"
