FILE fqName:<root> fileName:/kt30796.kt
  FUN name:testElvis1 visibility:public modality:FINAL <T> (value:T of <root>.testElvis1) returnType:kotlin.Any
    TYPE_PARAMETER name:T index:0 variance: superTypes:[]
    VALUE_PARAMETER name:value index:0 type:T of <root>.testElvis1
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='public final fun testElvis1 <T> (value: T of <root>.testElvis1): kotlin.Any declared in <root>'
        BLOCK type=kotlin.Any origin=ELVIS
          VAR name:<elvis> type:T of <root>.testElvis1 [val]
            GET_VAR 'value: T of <root>.testElvis1 declared in <root>.testElvis1' type=T of <root>.testElvis1 origin=null
          WHEN type=kotlin.Any origin=ELVIS
            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 <elvis>: T of <root>.testElvis1 [val] declared in <root>.testElvis1' type=T of <root>.testElvis1 origin=null
                arg1: CONST Null type=kotlin.Nothing? value=null
              then: CONST Int type=kotlin.Any value=42
            BRANCH
              if: CONST Boolean type=kotlin.Boolean value=true
              then: GET_VAR 'val <elvis>: T of <root>.testElvis1 [val] declared in <root>.testElvis1' type=T of <root>.testElvis1 origin=null
  FUN name:testElvis2 visibility:public modality:FINAL <T> (value:T of <root>.testElvis2) returnType:kotlin.Any
    TYPE_PARAMETER name:T index:0 variance: superTypes:[]
    VALUE_PARAMETER name:value index:0 type:T of <root>.testElvis2
    BLOCK_BODY
      VAR name:a type:kotlin.Int [val]
        BLOCK type=kotlin.Int origin=ELVIS
          VAR name:<elvis> type:T of <root>.testElvis2 [val]
            GET_VAR 'value: T of <root>.testElvis2 declared in <root>.testElvis2' type=T of <root>.testElvis2 origin=null
          WHEN type=kotlin.Int origin=ELVIS
            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 <elvis>: T of <root>.testElvis2 [val] declared in <root>.testElvis2' type=T of <root>.testElvis2 origin=null
                arg1: CONST Null type=kotlin.Nothing? value=null
              then: CONST Int type=kotlin.Int value=42
            BRANCH
              if: CONST Boolean type=kotlin.Boolean value=true
              then: GET_VAR 'val <elvis>: T of <root>.testElvis2 [val] declared in <root>.testElvis2' type=T of <root>.testElvis2 origin=null
      RETURN type=kotlin.Nothing from='public final fun testElvis2 <T> (value: T of <root>.testElvis2): kotlin.Any declared in <root>'
        GET_VAR 'val a: kotlin.Int [val] declared in <root>.testElvis2' type=kotlin.Int origin=null
