MODULE_FRAGMENT
  FILE fqName:<root> fileName:fragment.kt
    CLASS CLASS name:CodeFragment modality:FINAL visibility:public superTypes:[kotlin.Any]
      thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.CodeFragment
      CONSTRUCTOR visibility:public returnType:<root>.CodeFragment [primary]
        BLOCK_BODY
          DELEGATING_CONSTRUCTOR_CALL 'public constructor <init> () [primary] declared in kotlin.Any'
      FUN name:run visibility:public modality:FINAL returnType:kotlin.Unit? [companion]
        VALUE_PARAMETER kind:Regular name:p0 index:0 type:<root>.Foo?
        EXPRESSION_BODY
          BLOCK type=kotlin.Unit? origin=SAFE_CALL
            VAR IR_TEMPORARY_VARIABLE name:tmp_0 type:<root>.Foo? [val]
              GET_VAR 'p0: <root>.Foo? declared in <root>.CodeFragment.run' type=<root>.Foo? origin=null
            WHEN type=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
                  ARG arg0: GET_VAR 'val tmp_0: <root>.Foo? [val] declared in <root>.CodeFragment.run' type=<root>.Foo? origin=null
                  ARG arg1: CONST Null type=kotlin.Nothing? value=null
                then: CONST Null type=kotlin.Nothing? value=null
              BRANCH
                if: CONST Boolean type=kotlin.Boolean value=true
                then: CALL 'public final fun call (): kotlin.Unit declared in <root>.Foo' type=kotlin.Unit origin=null
                  ARG <this>: TYPE_OP type=<root>.Foo origin=IMPLICIT_CAST typeOperand=<root>.Foo
                    GET_VAR 'val tmp_0: <root>.Foo? [val] declared in <root>.CodeFragment.run' type=<root>.Foo? origin=null
