FILE fqName:<root> fileName:/main.kt
  CLASS INTERFACE name:B modality:ABSTRACT visibility:public superTypes:[<root>.A<T1 of <root>.B>]
    thisReceiver: VALUE_PARAMETER INSTANCE_RECEIVER kind:DispatchReceiver name:<this> type:<root>.B<T1 of <root>.B>
    TYPE_PARAMETER name:T1 index:0 variance: superTypes:[kotlin.Any?] reified:false
    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>.A
    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>.A
    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>.A
    FUN name:bar visibility:public modality:ABSTRACT returnType:{T1 of <root>.B & Any}
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.B<T1 of <root>.B>
      VALUE_PARAMETER kind:Regular name:x index:1 type:{T1 of <root>.B & Any}
      overridden:
        public open fun bar (x: @[EnhancedNullability] {T of <root>.A & Any}): @[EnhancedNullability] {T of <root>.A & Any} declared in <root>.A
    FUN name:foo visibility:public modality:ABSTRACT returnType:T1 of <root>.B
      VALUE_PARAMETER kind:DispatchReceiver name:<this> index:0 type:<root>.B<T1 of <root>.B>
      VALUE_PARAMETER kind:Regular name:x index:1 type:T1 of <root>.B
      overridden:
        public open fun foo (x: @[FlexibleNullability] T of <root>.A?): @[FlexibleNullability] T of <root>.A? declared in <root>.A
