FILE fqName:<root> fileName:/fixationOrder1.kt
  FUN name:foo visibility:public modality:FINAL <X, Y> () returnType:kotlin.Function1<<root>.foo.X, <root>.foo.Y> flags:[]
    TYPE_PARAMETER name:X index:0 variance: superTypes:[kotlin.Any?]
    TYPE_PARAMETER name:Y index:1 variance: superTypes:[kotlin.Any?]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:foo visibility:public modality:FINAL <X, Y> () returnType:kotlin.Function1<<root>.foo.X, <root>.foo.Y> flags:[]'
        CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null
  CLASS INTERFACE name:Inv2 modality:ABSTRACT visibility:public flags:[] superTypes:[kotlin.Any]
    $this: VALUE_PARAMETER INSTANCE_RECEIVER name:<this> type:<root>.Inv2<<root>.Inv2.A, <root>.Inv2.B> flags:[]
    TYPE_PARAMETER name:A index:0 variance: superTypes:[kotlin.Any?]
    TYPE_PARAMETER name:B index:1 variance: superTypes:[kotlin.Any?]
    FUN FAKE_OVERRIDE name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:equals visibility:public modality:OPEN <> ($this:kotlin.Any, other:kotlin.Any?) returnType:kotlin.Boolean flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
      VALUE_PARAMETER name:other index:0 type:kotlin.Any? flags:[]
    FUN FAKE_OVERRIDE name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:hashCode visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.Int flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
    FUN FAKE_OVERRIDE name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      overridden:
        FUN IR_EXTERNAL_DECLARATION_STUB name:toString visibility:public modality:OPEN <> ($this:kotlin.Any) returnType:kotlin.String flags:[]
      $this: VALUE_PARAMETER name:<this> type:kotlin.Any flags:[]
  FUN name:check visibility:public modality:FINAL <T, R> (x:<root>.check.T, y:<root>.check.R, f:kotlin.Function1<<root>.check.T, <root>.check.R>) returnType:<root>.Inv2<<root>.check.T, <root>.check.R> flags:[]
    TYPE_PARAMETER name:T index:0 variance: superTypes:[kotlin.Any?]
    TYPE_PARAMETER name:R index:1 variance: superTypes:[kotlin.Any?]
    VALUE_PARAMETER name:x index:0 type:<root>.check.T flags:[]
    VALUE_PARAMETER name:y index:1 type:<root>.check.R flags:[]
    VALUE_PARAMETER name:f index:2 type:kotlin.Function1<<root>.check.T, <root>.check.R> flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:check visibility:public modality:FINAL <T, R> (x:<root>.check.T, y:<root>.check.R, f:kotlin.Function1<<root>.check.T, <root>.check.R>) returnType:<root>.Inv2<<root>.check.T, <root>.check.R> flags:[]'
        CALL 'FUN IR_EXTERNAL_DECLARATION_STUB name:TODO visibility:public modality:FINAL <> () returnType:kotlin.Nothing flags:[inline]' type=kotlin.Nothing origin=null
  FUN name:test visibility:public modality:FINAL <> () returnType:<root>.Inv2<kotlin.String, kotlin.Int> flags:[]
    BLOCK_BODY
      RETURN type=kotlin.Nothing from='FUN name:test visibility:public modality:FINAL <> () returnType:<root>.Inv2<kotlin.String, kotlin.Int> flags:[]'
        CALL 'FUN name:check visibility:public modality:FINAL <T, R> (x:<root>.check.T, y:<root>.check.R, f:kotlin.Function1<<root>.check.T, <root>.check.R>) returnType:<root>.Inv2<<root>.check.T, <root>.check.R> flags:[]' type=<root>.Inv2<kotlin.String, kotlin.Int> origin=null
          <T>: kotlin.String
          <R>: kotlin.Int
          x: CONST String type=kotlin.String value=""
          y: CONST Int type=kotlin.Int value=1
          f: CALL 'FUN name:foo visibility:public modality:FINAL <X, Y> () returnType:kotlin.Function1<<root>.foo.X, <root>.foo.Y> flags:[]' type=kotlin.Function1<kotlin.String, kotlin.Int> origin=null
            <X>: kotlin.String
            <Y>: kotlin.Int
  FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]
    BLOCK_BODY
      VAR name:x type:<root>.Inv2<kotlin.String, kotlin.Int> flags:[val]
        CALL 'FUN name:test visibility:public modality:FINAL <> () returnType:<root>.Inv2<kotlin.String, kotlin.Int> flags:[]' type=<root>.Inv2<kotlin.String, kotlin.Int> origin=null
      RETURN type=kotlin.Nothing from='FUN name:box visibility:public modality:FINAL <> () returnType:kotlin.String flags:[]'
        CONST String type=kotlin.String value="OK"
