// CHECK:
//   Mangled name: A
//   Public signature: /A|null[0]
abstract class A : HashMap<Boolean, Boolean>, Java1, SortedMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: A#<init>(){}
  //   Public signature: /A.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: A#clear(){}
  //   Public signature: /A.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: A#clone(){}kotlin.Any{EnhancedNullability}
  //   Public signature: /A.clone|178802004086941196[0]
  //   Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
  /* fake */ override fun clone(): @EnhancedNullability Any

  // CHECK JVM_IR:
  //   Mangled name: A#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /A.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: A#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /A.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /A.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: A#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /A.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /A.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: A#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /A.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: A#equals(kotlin.Any?){}kotlin.Boolean
  //   Public signature: /A.equals|722809408929142791[0]
  //   Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
  /* fake */ override operator fun equals(other: Any?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: A#firstKey(){}kotlin.Boolean?
  //   Public signature: /A.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: A#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /A.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: A#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /A.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /A.getOrDefault|-2351196932378932637[0]
  //   Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: A#hashCode(){}kotlin.Int
  //   Public signature: /A.hashCode|-8048879360829830756[0]
  //   Public signature debug description: hashCode(){}kotlin.Int
  /* fake */ override fun hashCode(): Int

  // CHECK JVM_IR:
  //   Mangled name: A#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /A.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: A#isEmpty(){}kotlin.Boolean
  //   Public signature: /A.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: A#lastKey(){}kotlin.Boolean?
  //   Public signature: /A.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /A.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /A.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: A#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /A.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: A#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /A.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /A.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /A.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /A.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: A#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /A.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: A#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /A.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: A#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /A.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: A#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /A.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: A#toString(){}kotlin.String
  //   Public signature: /A.toString|6958853723545266802[0]
  //   Public signature debug description: toString(){}kotlin.String
  /* fake */ override fun toString(): String

  // CHECK:
  //   Mangled name: A{}entries
  //   Public signature: /A.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: A#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /A.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: A{}keys
  //   Public signature: /A.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: A#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /A.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: A{}size
  //   Public signature: /A.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: A#<get-size>(){}kotlin.Int
    //   Public signature: /A.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: A{}values
  //   Public signature: /A.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: A#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /A.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: B
//   Public signature: /B|null[0]
abstract class B : HashMap<Boolean, Boolean>, Java1, SortedMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: B#<init>(){}
  //   Public signature: /B.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: B#clear(){}
  //   Public signature: /B.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: B#clone(){}kotlin.Any{EnhancedNullability}
  //   Public signature: /B.clone|178802004086941196[0]
  //   Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
  /* fake */ override fun clone(): @EnhancedNullability Any

  // CHECK JVM_IR:
  //   Mangled name: B#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /B.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: B#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /B.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /B.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: B#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /B.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /B.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: B#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /B.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: B#equals(kotlin.Any?){}kotlin.Boolean
  //   Public signature: /B.equals|722809408929142791[0]
  //   Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
  /* fake */ override operator fun equals(other: Any?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: B#firstKey(){}kotlin.Boolean?
  //   Public signature: /B.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: B#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /B.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: B#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /B.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /B.getOrDefault|-2351196932378932637[0]
  //   Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: B#hashCode(){}kotlin.Int
  //   Public signature: /B.hashCode|-8048879360829830756[0]
  //   Public signature debug description: hashCode(){}kotlin.Int
  /* fake */ override fun hashCode(): Int

  // CHECK JVM_IR:
  //   Mangled name: B#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /B.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: B#isEmpty(){}kotlin.Boolean
  //   Public signature: /B.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: B#lastKey(){}kotlin.Boolean?
  //   Public signature: /B.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /B.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /B.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: B#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /B.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: B#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /B.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /B.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /B.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: B#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /B.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: B#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /B.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: B#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /B.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: B#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /B.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: B#toString(){}kotlin.String
  //   Public signature: /B.toString|6958853723545266802[0]
  //   Public signature debug description: toString(){}kotlin.String
  /* fake */ override fun toString(): String

  // CHECK JVM_IR:
  //   Mangled name: B#remove(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /B.remove|642454127979935092[0]
  //   Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean?
  override fun remove(key: Boolean): Boolean?

  // CHECK:
  //   Mangled name: B{}entries
  //   Public signature: /B.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: B#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /B.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: B{}keys
  //   Public signature: /B.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: B#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /B.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: B{}size
  //   Public signature: /B.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: B#<get-size>(){}kotlin.Int
    //   Public signature: /B.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: B{}values
  //   Public signature: /B.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: B#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /B.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: C
//   Public signature: /C|null[0]
abstract class C : HashMap<Boolean, Boolean>, KotlinInterface, SortedMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: C#<init>(){}
  //   Public signature: /C.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: C#clear(){}
  //   Public signature: /C.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: C#clone(){}kotlin.Any{EnhancedNullability}
  //   Public signature: /C.clone|178802004086941196[0]
  //   Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
  /* fake */ override fun clone(): @EnhancedNullability Any

  // CHECK JVM_IR:
  //   Mangled name: C#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /C.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: C#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /C.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /C.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /C.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /C.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /C.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#equals(kotlin.Any?){}kotlin.Boolean
  //   Public signature: /C.equals|722809408929142791[0]
  //   Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
  /* fake */ override operator fun equals(other: Any?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#firstKey(){}kotlin.Boolean?
  //   Public signature: /C.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: C#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /C.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: C#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /C.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /C.getOrDefault|-2351196932378932637[0]
  //   Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#hashCode(){}kotlin.Int
  //   Public signature: /C.hashCode|-8048879360829830756[0]
  //   Public signature debug description: hashCode(){}kotlin.Int
  /* fake */ override fun hashCode(): Int

  // CHECK JVM_IR:
  //   Mangled name: C#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /C.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: C#isEmpty(){}kotlin.Boolean
  //   Public signature: /C.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#lastKey(){}kotlin.Boolean?
  //   Public signature: /C.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /C.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /C.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: C#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /C.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: C#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /C.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#remove(kotlin.Any){}kotlin.Boolean
  //   Public signature: /C.remove|-5068250402844701250[0]
  //   Public signature debug description: remove(kotlin.Any){}kotlin.Boolean
  abstract /* fake */ override fun remove(key: Any): Boolean

  // CHECK JVM_IR:
  //   Mangled name: C#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /C.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /C.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: C#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /C.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: C#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /C.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: C#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /C.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: C#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /C.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: C#toString(){}kotlin.String
  //   Public signature: /C.toString|6958853723545266802[0]
  //   Public signature debug description: toString(){}kotlin.String
  /* fake */ override fun toString(): String

  // CHECK:
  //   Mangled name: C{}entries
  //   Public signature: /C.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: C#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /C.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: C{}keys
  //   Public signature: /C.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: C#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /C.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: C{}size
  //   Public signature: /C.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: C#<get-size>(){}kotlin.Int
    //   Public signature: /C.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: C{}values
  //   Public signature: /C.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: C#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /C.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: D
//   Public signature: /D|null[0]
abstract class D : HashMap<Boolean, Boolean>, KotlinInterface, SortedMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: D#<init>(){}
  //   Public signature: /D.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: D#clear(){}
  //   Public signature: /D.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: D#clone(){}kotlin.Any{EnhancedNullability}
  //   Public signature: /D.clone|178802004086941196[0]
  //   Public signature debug description: clone(){}kotlin.Any{EnhancedNullability}
  /* fake */ override fun clone(): @EnhancedNullability Any

  // CHECK JVM_IR:
  //   Mangled name: D#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /D.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: D#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /D.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /D.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /D.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /D.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /D.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#equals(kotlin.Any?){}kotlin.Boolean
  //   Public signature: /D.equals|722809408929142791[0]
  //   Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
  /* fake */ override operator fun equals(other: Any?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#firstKey(){}kotlin.Boolean?
  //   Public signature: /D.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: D#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /D.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: D#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /D.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /D.getOrDefault|-2351196932378932637[0]
  //   Public signature debug description: getOrDefault(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun getOrDefault(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#hashCode(){}kotlin.Int
  //   Public signature: /D.hashCode|-8048879360829830756[0]
  //   Public signature debug description: hashCode(){}kotlin.Int
  /* fake */ override fun hashCode(): Int

  // CHECK JVM_IR:
  //   Mangled name: D#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /D.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: D#isEmpty(){}kotlin.Boolean
  //   Public signature: /D.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#lastKey(){}kotlin.Boolean?
  //   Public signature: /D.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /D.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /D.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: D#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /D.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: D#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /D.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#remove(kotlin.Any){}kotlin.Boolean
  //   Public signature: /D.remove|-5068250402844701250[0]
  //   Public signature debug description: remove(kotlin.Any){}kotlin.Boolean
  abstract /* fake */ override fun remove(key: Any): Boolean

  // CHECK JVM_IR:
  //   Mangled name: D#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /D.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: D#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /D.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: D#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /D.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: D#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /D.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: D#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /D.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: D#toString(){}kotlin.String
  //   Public signature: /D.toString|6958853723545266802[0]
  //   Public signature debug description: toString(){}kotlin.String
  /* fake */ override fun toString(): String

  // CHECK JVM_IR:
  //   Mangled name: D#remove(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /D.remove|-1371993909026213740[0]
  //   Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean
  override fun remove(key: Boolean): Boolean

  // CHECK:
  //   Mangled name: D{}entries
  //   Public signature: /D.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: D#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /D.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: D{}keys
  //   Public signature: /D.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: D#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /D.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: D{}size
  //   Public signature: /D.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: D#<get-size>(){}kotlin.Int
    //   Public signature: /D.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: D{}values
  //   Public signature: /D.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: D#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /D.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: E
//   Public signature: /E|null[0]
abstract class E : KotlinInterface, SortedMap<Boolean, Boolean>, MutableMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: E#<init>(){}
  //   Public signature: /E.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: E#clear(){}
  //   Public signature: /E.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: E#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /E.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: E#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /E.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /E.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: E#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /E.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /E.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: E#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /E.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: E#firstKey(){}kotlin.Boolean?
  //   Public signature: /E.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: E#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /E.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: E#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /E.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /E.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: E#isEmpty(){}kotlin.Boolean
  //   Public signature: /E.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: E#lastKey(){}kotlin.Boolean?
  //   Public signature: /E.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /E.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /E.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: E#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /E.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: E#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /E.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#remove(kotlin.Any){}kotlin.Boolean
  //   Public signature: /E.remove|-5068250402844701250[0]
  //   Public signature debug description: remove(kotlin.Any){}kotlin.Boolean
  abstract /* fake */ override fun remove(key: Any): Boolean

  // CHECK JVM_IR:
  //   Mangled name: E#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /E.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /E.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: E#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /E.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: E#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /E.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: E#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /E.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: E#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /E.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK:
  //   Mangled name: E{}entries
  //   Public signature: /E.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean, Boolean>>
    // CHECK JVM_IR:
    //   Mangled name: E#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    //   Public signature: /E.entries.<get-entries>|-8351444907328274428[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean, Boolean>>

  // CHECK:
  //   Mangled name: E{}keys
  //   Public signature: /E.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: E#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    //   Public signature: /E.keys.<get-keys>|6984112319401937053[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    abstract /* fake */ override get(): MutableSet<Boolean>

  // CHECK:
  //   Mangled name: E{}size
  //   Public signature: /E.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: E#<get-size>(){}kotlin.Int
    //   Public signature: /E.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: E{}values
  //   Public signature: /E.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: E#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    //   Public signature: /E.values.<get-values>|1639693901235765360[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    abstract /* fake */ override get(): MutableCollection<Boolean>

}

// CHECK:
//   Mangled name: F
//   Public signature: /F|null[0]
abstract class F : KotlinInterface, SortedMap<Boolean, Boolean>, MutableMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: F#<init>(){}
  //   Public signature: /F.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: F#clear(){}
  //   Public signature: /F.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: F#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /F.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: F#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /F.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /F.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: F#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /F.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /F.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: F#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /F.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: F#firstKey(){}kotlin.Boolean?
  //   Public signature: /F.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: F#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /F.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: F#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /F.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /F.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: F#isEmpty(){}kotlin.Boolean
  //   Public signature: /F.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: F#lastKey(){}kotlin.Boolean?
  //   Public signature: /F.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /F.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /F.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: F#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /F.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: F#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /F.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /F.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /F.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: F#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /F.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: F#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /F.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: F#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /F.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: F#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /F.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: F#remove(kotlin.Any){}kotlin.Boolean
  //   Public signature: /F.remove|-5068250402844701250[0]
  //   Public signature debug description: remove(kotlin.Any){}kotlin.Boolean
  override fun remove(key: Any): Boolean

  // CHECK:
  //   Mangled name: F{}entries
  //   Public signature: /F.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean, Boolean>>
    // CHECK JVM_IR:
    //   Mangled name: F#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    //   Public signature: /F.entries.<get-entries>|-8351444907328274428[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean, Boolean>>

  // CHECK:
  //   Mangled name: F{}keys
  //   Public signature: /F.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: F#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    //   Public signature: /F.keys.<get-keys>|6984112319401937053[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    abstract /* fake */ override get(): MutableSet<Boolean>

  // CHECK:
  //   Mangled name: F{}size
  //   Public signature: /F.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: F#<get-size>(){}kotlin.Int
    //   Public signature: /F.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: F{}values
  //   Public signature: /F.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: F#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    //   Public signature: /F.values.<get-values>|1639693901235765360[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    abstract /* fake */ override get(): MutableCollection<Boolean>

}

// CHECK:
//   Mangled name: I
//   Public signature: /I|null[0]
abstract class I : Java2, Java1 {
  // CHECK:
  //   Mangled name: I#<init>(){}
  //   Public signature: /I.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: I#clear(){}
  //   Public signature: /I.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: I#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /I.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: I#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /I.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /I.computeIfAbsent|2318086775890399186[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /I.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /I.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: I#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /I.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: I#firstKey(){}kotlin.Boolean?
  //   Public signature: /I.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: I#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /I.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: I#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /I.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /I.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: I#isEmpty(){}kotlin.Boolean
  //   Public signature: /I.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: I#lastKey(){}kotlin.Boolean?
  //   Public signature: /I.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /I.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /I.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: I#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /I.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: I#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /I.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /I.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /I.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /I.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: I#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /I.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: I#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /I.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: I#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /I.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: I#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /I.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK:
  //   Mangled name: I{}entries
  //   Public signature: /I.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: I#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /I.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: I{}keys
  //   Public signature: /I.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: I#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /I.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    abstract /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: I{}size
  //   Public signature: /I.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: I#<get-size>(){}kotlin.Int
    //   Public signature: /I.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: I{}values
  //   Public signature: /I.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: I#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /I.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    abstract /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: J
//   Public signature: /J|null[0]
abstract class J : Java2, Java1 {
  // CHECK:
  //   Mangled name: J#<init>(){}
  //   Public signature: /J.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: J#clear(){}
  //   Public signature: /J.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: J#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /J.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: J#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /J.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /J.computeIfAbsent|2318086775890399186[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /J.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /J.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: J#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /J.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: J#firstKey(){}kotlin.Boolean?
  //   Public signature: /J.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: J#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /J.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: J#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /J.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /J.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: J#isEmpty(){}kotlin.Boolean
  //   Public signature: /J.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: J#lastKey(){}kotlin.Boolean?
  //   Public signature: /J.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /J.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /J.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: J#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /J.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: J#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /J.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /J.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /J.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: J#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /J.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: J#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /J.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: J#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /J.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: J#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /J.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: J#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /J.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  override fun remove(key: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: J{}entries
  //   Public signature: /J.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: J#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /J.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: J{}keys
  //   Public signature: /J.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: J#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /J.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    abstract /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: J{}size
  //   Public signature: /J.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: J#<get-size>(){}kotlin.Int
    //   Public signature: /J.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: J{}values
  //   Public signature: /J.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: J#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /J.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    abstract /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: K
//   Public signature: /K|null[0]
abstract class K : Java3, Java1 {
  // CHECK:
  //   Mangled name: K#<init>(){}
  //   Public signature: /K.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: K#clear(){}
  //   Public signature: /K.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: K#clone(){}kotlin.Any?
  //   Public signature: /K.clone|-7083896195458302612[0]
  //   Public signature debug description: clone(){}kotlin.Any?
  protected_and_package /* fake */ override fun clone(): Any?

  // CHECK JVM_IR:
  //   Mangled name: K#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /K.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /K.computeIfAbsent|2318086775890399186[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /K.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /K.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: K#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /K.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: K#equals(kotlin.Any?){}kotlin.Boolean
  //   Public signature: /K.equals|722809408929142791[0]
  //   Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
  /* fake */ override operator fun equals(other: Any?): Boolean

  // CHECK:
  //   Mangled name: K#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /K.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: K#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /K.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#hashCode(){}kotlin.Int
  //   Public signature: /K.hashCode|-8048879360829830756[0]
  //   Public signature debug description: hashCode(){}kotlin.Int
  /* fake */ override fun hashCode(): Int

  // CHECK JVM_IR:
  //   Mangled name: K#isEmpty(){}kotlin.Boolean
  //   Public signature: /K.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: K#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /K.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /K.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: K#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /K.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: K#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /K.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /K.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /K.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /K.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: K#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /K.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: K#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /K.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: K#toString(){}kotlin.String
  //   Public signature: /K.toString|6958853723545266802[0]
  //   Public signature debug description: toString(){}kotlin.String
  /* fake */ override fun toString(): String

  // CHECK:
  //   Mangled name: K{}entries
  //   Public signature: /K.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>>
    // CHECK JVM_IR:
    //   Mangled name: K#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>>
    //   Public signature: /K.entries.<get-entries>|-8706083201241599756[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>>

  // CHECK:
  //   Mangled name: K{}keys
  //   Public signature: /K.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  /* fake */ override val keys: MutableSet<Boolean?>
    // CHECK JVM_IR:
    //   Mangled name: K#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>
    //   Public signature: /K.keys.<get-keys>|-2552716340993423855[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>
    /* fake */ override get(): MutableSet<Boolean?>

  // CHECK:
  //   Mangled name: K{}size
  //   Public signature: /K.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: K#<get-size>(){}kotlin.Int
    //   Public signature: /K.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: K{}values
  //   Public signature: /K.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  /* fake */ override val values: MutableCollection<Boolean?>
    // CHECK JVM_IR:
    //   Mangled name: K#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>
    //   Public signature: /K.values.<get-values>|4180852610867688478[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>
    /* fake */ override get(): MutableCollection<Boolean?>

}

// CHECK:
//   Mangled name: L
//   Public signature: /L|null[0]
abstract class L : Java3, Java1 {
  // CHECK:
  //   Mangled name: L#<init>(){}
  //   Public signature: /L.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: L#clear(){}
  //   Public signature: /L.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: L#clone(){}kotlin.Any?
  //   Public signature: /L.clone|-7083896195458302612[0]
  //   Public signature debug description: clone(){}kotlin.Any?
  protected_and_package /* fake */ override fun clone(): Any?

  // CHECK JVM_IR:
  //   Mangled name: L#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /L.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /L.computeIfAbsent|2318086775890399186[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /L.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /L.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: L#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /L.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: L#equals(kotlin.Any?){}kotlin.Boolean
  //   Public signature: /L.equals|722809408929142791[0]
  //   Public signature debug description: equals(kotlin.Any?){}kotlin.Boolean
  /* fake */ override operator fun equals(other: Any?): Boolean

  // CHECK:
  //   Mangled name: L#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /L.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: L#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /L.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#hashCode(){}kotlin.Int
  //   Public signature: /L.hashCode|-8048879360829830756[0]
  //   Public signature debug description: hashCode(){}kotlin.Int
  /* fake */ override fun hashCode(): Int

  // CHECK JVM_IR:
  //   Mangled name: L#isEmpty(){}kotlin.Boolean
  //   Public signature: /L.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: L#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /L.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /L.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: L#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /L.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: L#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /L.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /L.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /L.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: L#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /L.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: L#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /L.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: L#toString(){}kotlin.String
  //   Public signature: /L.toString|6958853723545266802[0]
  //   Public signature debug description: toString(){}kotlin.String
  /* fake */ override fun toString(): String

  // CHECK JVM_IR:
  //   Mangled name: L#remove(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /L.remove|-1371993909026213740[0]
  //   Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean
  override fun remove(key: Boolean): Boolean

  // CHECK:
  //   Mangled name: L{}entries
  //   Public signature: /L.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>>
    // CHECK JVM_IR:
    //   Mangled name: L#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>>
    //   Public signature: /L.entries.<get-entries>|-8706083201241599756[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>>

  // CHECK:
  //   Mangled name: L{}keys
  //   Public signature: /L.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  /* fake */ override val keys: MutableSet<Boolean?>
    // CHECK JVM_IR:
    //   Mangled name: L#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>
    //   Public signature: /L.keys.<get-keys>|-2552716340993423855[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>
    /* fake */ override get(): MutableSet<Boolean?>

  // CHECK:
  //   Mangled name: L{}size
  //   Public signature: /L.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: L#<get-size>(){}kotlin.Int
    //   Public signature: /L.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: L{}values
  //   Public signature: /L.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  /* fake */ override val values: MutableCollection<Boolean?>
    // CHECK JVM_IR:
    //   Mangled name: L#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>
    //   Public signature: /L.values.<get-values>|4180852610867688478[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>
    /* fake */ override get(): MutableCollection<Boolean?>

}

// CHECK:
//   Mangled name: M
//   Public signature: /M|null[0]
abstract class M : Java1, KotlinInterface3 {
  // CHECK:
  //   Mangled name: M#<init>(){}
  //   Public signature: /M.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: M#clear(){}
  //   Public signature: /M.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: M#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /M.compute|-7729972313536917040[0]
  //   Public signature debug description: compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /M.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: M#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /M.computeIfPresent|-2979151786355445339[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#containsKey(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /M.containsKey|3773351703910613758[0]
  //   Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean): Boolean

  // CHECK JVM_IR:
  //   Mangled name: M#containsValue(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /M.containsValue|3370822655109102618[0]
  //   Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean): Boolean

  // CHECK:
  //   Mangled name: M#forEach(java.util.function.BiConsumer<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /M.forEach|-5135755455445344771[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: M#get(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /M.get|3106204251392233722[0]
  //   Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#isEmpty(){}kotlin.Boolean
  //   Public signature: /M.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: M#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /M.merge|-5282806922204131463[0]
  //   Public signature debug description: merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /M.put|-3189627949496447371[0]
  //   Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean, value: Boolean): Boolean?

  // CHECK:
  //   Mangled name: M#putAll(kotlin.collections.Map<out|kotlin.Boolean,kotlin.Boolean>){}
  //   Public signature: /M.putAll|-7815820304463046641[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean,kotlin.Boolean>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean, Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: M#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /M.putIfAbsent|370123292273264251[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /M.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#remove(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /M.remove|642454127979935092[0]
  //   Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Boolean): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /M.replace|-8349928155045608191[0]
  //   Public signature debug description: replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: M#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /M.replace|-4612021372079544464[0]
  //   Public signature debug description: replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability Boolean): Boolean

  // CHECK:
  //   Mangled name: M#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /M.replaceAll|-4705661050926347686[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): Unit

  // CHECK:
  //   Mangled name: M{}entries
  //   Public signature: /M.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean, Boolean>>
    // CHECK JVM_IR:
    //   Mangled name: M#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    //   Public signature: /M.entries.<get-entries>|-8351444907328274428[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean, Boolean>>

  // CHECK:
  //   Mangled name: M{}keys
  //   Public signature: /M.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: M#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    //   Public signature: /M.keys.<get-keys>|6984112319401937053[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    abstract /* fake */ override get(): MutableSet<Boolean>

  // CHECK:
  //   Mangled name: M{}size
  //   Public signature: /M.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: M#<get-size>(){}kotlin.Int
    //   Public signature: /M.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: M{}values
  //   Public signature: /M.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: M#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    //   Public signature: /M.values.<get-values>|1639693901235765360[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    abstract /* fake */ override get(): MutableCollection<Boolean>

}

// CHECK:
//   Mangled name: N
//   Public signature: /N|null[0]
abstract class N : Java1, KotlinInterface3 {
  // CHECK:
  //   Mangled name: N#<init>(){}
  //   Public signature: /N.<init>|-5645683436151566731[0]
  //   Public signature debug description: <init>(){}
  constructor() /* primary */

  // CHECK:
  //   Mangled name: N#clear(){}
  //   Public signature: /N.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: N#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /N.compute|-7729972313536917040[0]
  //   Public signature debug description: compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /N.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: N#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /N.computeIfPresent|-2979151786355445339[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#containsKey(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /N.containsKey|3773351703910613758[0]
  //   Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean): Boolean

  // CHECK JVM_IR:
  //   Mangled name: N#containsValue(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /N.containsValue|3370822655109102618[0]
  //   Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean): Boolean

  // CHECK:
  //   Mangled name: N#forEach(java.util.function.BiConsumer<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /N.forEach|-5135755455445344771[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: N#get(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /N.get|3106204251392233722[0]
  //   Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#isEmpty(){}kotlin.Boolean
  //   Public signature: /N.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: N#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /N.merge|-5282806922204131463[0]
  //   Public signature debug description: merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /N.put|-3189627949496447371[0]
  //   Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean, value: Boolean): Boolean?

  // CHECK:
  //   Mangled name: N#putAll(kotlin.collections.Map<out|kotlin.Boolean,kotlin.Boolean>){}
  //   Public signature: /N.putAll|-7815820304463046641[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean,kotlin.Boolean>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean, Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: N#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /N.putIfAbsent|370123292273264251[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#remove(kotlin.Any?){}kotlin.Boolean?
  //   Public signature: /N.remove|-1183242348947635729[0]
  //   Public signature debug description: remove(kotlin.Any?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Any?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /N.replace|-8349928155045608191[0]
  //   Public signature debug description: replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: N#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /N.replace|-4612021372079544464[0]
  //   Public signature debug description: replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability Boolean): Boolean

  // CHECK:
  //   Mangled name: N#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /N.replaceAll|-4705661050926347686[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: N#remove(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /N.remove|642454127979935092[0]
  //   Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean?
  override fun remove(key: Boolean): Boolean?

  // CHECK:
  //   Mangled name: N{}entries
  //   Public signature: /N.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean, Boolean>>
    // CHECK JVM_IR:
    //   Mangled name: N#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    //   Public signature: /N.entries.<get-entries>|-8351444907328274428[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean, Boolean>>

  // CHECK:
  //   Mangled name: N{}keys
  //   Public signature: /N.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: N#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    //   Public signature: /N.keys.<get-keys>|6984112319401937053[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    abstract /* fake */ override get(): MutableSet<Boolean>

  // CHECK:
  //   Mangled name: N{}size
  //   Public signature: /N.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: N#<get-size>(){}kotlin.Int
    //   Public signature: /N.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: N{}values
  //   Public signature: /N.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: N#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    //   Public signature: /N.values.<get-values>|1639693901235765360[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    abstract /* fake */ override get(): MutableCollection<Boolean>

}

// CHECK:
//   Mangled name: KotlinInterface
//   Public signature: /KotlinInterface|null[0]
interface KotlinInterface {
  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface#remove(kotlin.Any){}kotlin.Boolean
  //   Public signature: /KotlinInterface.remove|-5068250402844701250[0]
  //   Public signature debug description: remove(kotlin.Any){}kotlin.Boolean
  abstract fun remove(key: Any): Boolean

}

// CHECK:
//   Mangled name: KotlinInterface2
//   Public signature: /KotlinInterface2|null[0]
interface KotlinInterface2 : SortedMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: KotlinInterface2#clear(){}
  //   Public signature: /KotlinInterface2.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  //   Public signature: /KotlinInterface2.comparator|5589924097229555022[0]
  //   Public signature debug description: comparator(){}java.util.Comparator<in|kotlin.Boolean?>?
  abstract /* fake */ override fun comparator(): Comparator<in Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface2.compute|4175412046172705961[0]
  //   Public signature debug description: compute(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface2.computeIfAbsent|2318086775890399186[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean?{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface2.computeIfPresent|-4444435589895688498[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean?{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#containsKey(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /KotlinInterface2.containsKey|-8235831514988883911[0]
  //   Public signature debug description: containsKey(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#containsValue(kotlin.Boolean?){}kotlin.Boolean
  //   Public signature: /KotlinInterface2.containsValue|-1908976232534565921[0]
  //   Public signature debug description: containsValue(kotlin.Boolean?){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean?): Boolean

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#firstKey(){}kotlin.Boolean?
  //   Public signature: /KotlinInterface2.firstKey|2260152268809084632[0]
  //   Public signature debug description: firstKey(){}kotlin.Boolean?
  abstract /* fake */ override fun firstKey(): Boolean?

  // CHECK:
  //   Mangled name: KotlinInterface2#forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /KotlinInterface2.forEach|3878961874603336765[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#get(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /KotlinInterface2.get|-7784602833684913808[0]
  //   Public signature debug description: get(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /KotlinInterface2.headMap|3429232571675833436[0]
  //   Public signature debug description: headMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun headMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#isEmpty(){}kotlin.Boolean
  //   Public signature: /KotlinInterface2.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#lastKey(){}kotlin.Boolean?
  //   Public signature: /KotlinInterface2.lastKey|-5878782178389103210[0]
  //   Public signature debug description: lastKey(){}kotlin.Boolean?
  abstract /* fake */ override fun lastKey(): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface2.merge|-2570739162911161248[0]
  //   Public signature debug description: merge(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /KotlinInterface2.put|-5368624398980599224[0]
  //   Public signature debug description: put(kotlin.Boolean?;kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean?, value: Boolean?): Boolean?

  // CHECK:
  //   Mangled name: KotlinInterface2#putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  //   Public signature: /KotlinInterface2.putAll|-226841264386034617[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean?,kotlin.Boolean?>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean?, Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface2.putIfAbsent|6516214788860106211[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#remove(kotlin.Boolean?){}kotlin.Boolean?
  //   Public signature: /KotlinInterface2.remove|-5821443140623761137[0]
  //   Public signature debug description: remove(kotlin.Boolean?){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Boolean?): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface2.replace|5218516597732619705[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /KotlinInterface2.replace|4813966440904142311[0]
  //   Public signature debug description: replace(kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability};kotlin.Boolean?{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean?, p1: @EnhancedNullability Boolean?, p2: @EnhancedNullability Boolean?): Boolean

  // CHECK:
  //   Mangled name: KotlinInterface2#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /KotlinInterface2.replaceAll|5359563359504799908[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean?{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean?, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /KotlinInterface2.subMap|-1324986874260553961[0]
  //   Public signature debug description: subMap(kotlin.Boolean?;kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun subMap(p0: Boolean?, p1: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface2#tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  //   Public signature: /KotlinInterface2.tailMap|-6557184974773795520[0]
  //   Public signature debug description: tailMap(kotlin.Boolean?){}java.util.SortedMap<kotlin.Boolean?,kotlin.Boolean?>?
  abstract /* fake */ override fun tailMap(p0: Boolean?): SortedMap<Boolean?, Boolean?>?

  // CHECK:
  //   Mangled name: KotlinInterface2{}entries
  //   Public signature: /KotlinInterface2.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean?, Boolean?>?>?
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface2#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    //   Public signature: /KotlinInterface2.entries.<get-entries>|7599268606377074279[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean?,kotlin.Boolean?>?>?
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean?, Boolean?>?>?

  // CHECK:
  //   Mangled name: KotlinInterface2{}keys
  //   Public signature: /KotlinInterface2.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface2#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    //   Public signature: /KotlinInterface2.keys.<get-keys>|483538289598228229[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean?>?
    abstract /* fake */ override get(): MutableSet<Boolean?>?

  // CHECK:
  //   Mangled name: KotlinInterface2{}size
  //   Public signature: /KotlinInterface2.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface2#<get-size>(){}kotlin.Int
    //   Public signature: /KotlinInterface2.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: KotlinInterface2{}values
  //   Public signature: /KotlinInterface2.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean?>?
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface2#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    //   Public signature: /KotlinInterface2.values.<get-values>|-410492473446277716[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean?>?
    abstract /* fake */ override get(): MutableCollection<Boolean?>?

}

// CHECK:
//   Mangled name: KotlinInterface3
//   Public signature: /KotlinInterface3|null[0]
interface KotlinInterface3 : MutableMap<Boolean, Boolean> {
  // CHECK:
  //   Mangled name: KotlinInterface3#clear(){}
  //   Public signature: /KotlinInterface3.clear|-6446868449915108923[0]
  //   Public signature debug description: clear(){}
  abstract /* fake */ override fun clear(): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface3.compute|-7729972313536917040[0]
  //   Public signature debug description: compute(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean?{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun compute(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean?, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  //   Public signature: /KotlinInterface3.computeIfAbsent|6575055089244954734[0]
  //   Public signature debug description: computeIfAbsent(kotlin.Boolean{EnhancedNullability};java.util.function.Function<in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean{EnhancedNullability}
  /* fake */ override fun computeIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Function<in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): @EnhancedNullability Boolean

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface3.computeIfPresent|-2979151786355445339[0]
  //   Public signature debug description: computeIfPresent(kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun computeIfPresent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#containsKey(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /KotlinInterface3.containsKey|3773351703910613758[0]
  //   Public signature debug description: containsKey(kotlin.Boolean){}kotlin.Boolean
  abstract /* fake */ override fun containsKey(key: Boolean): Boolean

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#containsValue(kotlin.Boolean){}kotlin.Boolean
  //   Public signature: /KotlinInterface3.containsValue|3370822655109102618[0]
  //   Public signature debug description: containsValue(kotlin.Boolean){}kotlin.Boolean
  abstract /* fake */ override fun containsValue(value: Boolean): Boolean

  // CHECK:
  //   Mangled name: KotlinInterface3#forEach(java.util.function.BiConsumer<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /KotlinInterface3.forEach|-5135755455445344771[0]
  //   Public signature debug description: forEach(java.util.function.BiConsumer<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun forEach(p0: @EnhancedNullability BiConsumer<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#get(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /KotlinInterface3.get|3106204251392233722[0]
  //   Public signature debug description: get(kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override operator fun get(key: Boolean): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#isEmpty(){}kotlin.Boolean
  //   Public signature: /KotlinInterface3.isEmpty|-626562167393617703[0]
  //   Public signature debug description: isEmpty(){}kotlin.Boolean
  abstract /* fake */ override fun isEmpty(): Boolean

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface3.merge|-5282806922204131463[0]
  //   Public signature debug description: merge(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean?{EnhancedNullability}>{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun merge(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean?>): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /KotlinInterface3.put|-3189627949496447371[0]
  //   Public signature debug description: put(kotlin.Boolean;kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override fun put(key: Boolean, value: Boolean): Boolean?

  // CHECK:
  //   Mangled name: KotlinInterface3#putAll(kotlin.collections.Map<out|kotlin.Boolean,kotlin.Boolean>){}
  //   Public signature: /KotlinInterface3.putAll|-7815820304463046641[0]
  //   Public signature debug description: putAll(kotlin.collections.Map<out|kotlin.Boolean,kotlin.Boolean>){}
  abstract /* fake */ override fun putAll(from: Map<out Boolean, Boolean>): Unit

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface3.putIfAbsent|370123292273264251[0]
  //   Public signature debug description: putIfAbsent(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun putIfAbsent(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#remove(kotlin.Boolean){}kotlin.Boolean?
  //   Public signature: /KotlinInterface3.remove|642454127979935092[0]
  //   Public signature debug description: remove(kotlin.Boolean){}kotlin.Boolean?
  abstract /* fake */ override fun remove(key: Boolean): Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  //   Public signature: /KotlinInterface3.replace|-8349928155045608191[0]
  //   Public signature debug description: replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean?{EnhancedNullability}
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean): @EnhancedNullability Boolean?

  // CHECK JVM_IR:
  //   Mangled name: KotlinInterface3#replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean
  //   Public signature: /KotlinInterface3.replace|-4612021372079544464[0]
  //   Public signature debug description: replace(kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability};kotlin.Boolean{EnhancedNullability}){}kotlin.Boolean
  /* fake */ override fun replace(p0: @EnhancedNullability Boolean, p1: @EnhancedNullability Boolean, p2: @EnhancedNullability Boolean): Boolean

  // CHECK:
  //   Mangled name: KotlinInterface3#replaceAll(java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  //   Public signature: /KotlinInterface3.replaceAll|-4705661050926347686[0]
  //   Public signature debug description: replaceAll(java.util.function.BiFunction<in|kotlin.Boolean{EnhancedNullability},in|kotlin.Boolean{EnhancedNullability},out|kotlin.Boolean{EnhancedNullability}>{EnhancedNullability}){}
  /* fake */ override fun replaceAll(p0: @EnhancedNullability BiFunction<in @EnhancedNullability Boolean, in @EnhancedNullability Boolean, out @EnhancedNullability Boolean>): Unit

  // CHECK:
  //   Mangled name: KotlinInterface3{}entries
  //   Public signature: /KotlinInterface3.entries|-586096469347622282[0]
  //   Public signature debug description: {}entries
  abstract /* fake */ override val entries: MutableSet<MutableEntry<Boolean, Boolean>>
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface3#<get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    //   Public signature: /KotlinInterface3.entries.<get-entries>|-8351444907328274428[0]
    //   Public signature debug description: <get-entries>(){}kotlin.collections.MutableSet<kotlin.collections.MutableMap.MutableEntry<kotlin.Boolean,kotlin.Boolean>>
    abstract /* fake */ override get(): MutableSet<MutableEntry<Boolean, Boolean>>

  // CHECK:
  //   Mangled name: KotlinInterface3{}keys
  //   Public signature: /KotlinInterface3.keys|-1539062068328255324[0]
  //   Public signature debug description: {}keys
  abstract /* fake */ override val keys: MutableSet<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface3#<get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    //   Public signature: /KotlinInterface3.keys.<get-keys>|6984112319401937053[0]
    //   Public signature debug description: <get-keys>(){}kotlin.collections.MutableSet<kotlin.Boolean>
    abstract /* fake */ override get(): MutableSet<Boolean>

  // CHECK:
  //   Mangled name: KotlinInterface3{}size
  //   Public signature: /KotlinInterface3.size|-6253659984320132064[0]
  //   Public signature debug description: {}size
  abstract /* fake */ override val size: Int
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface3#<get-size>(){}kotlin.Int
    //   Public signature: /KotlinInterface3.size.<get-size>|-3941649985161900780[0]
    //   Public signature debug description: <get-size>(){}kotlin.Int
    abstract /* fake */ override get(): Int

  // CHECK:
  //   Mangled name: KotlinInterface3{}values
  //   Public signature: /KotlinInterface3.values|-764749005844117249[0]
  //   Public signature debug description: {}values
  abstract /* fake */ override val values: MutableCollection<Boolean>
    // CHECK JVM_IR:
    //   Mangled name: KotlinInterface3#<get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    //   Public signature: /KotlinInterface3.values.<get-values>|1639693901235765360[0]
    //   Public signature debug description: <get-values>(){}kotlin.collections.MutableCollection<kotlin.Boolean>
    abstract /* fake */ override get(): MutableCollection<Boolean>

}

// CHECK:
//   Mangled name: #test(A;B;C;D;E;F;I;J;K;L;M;N){}
//   Public signature: /test|-19437441252080184[0]
//   Public signature debug description: test(A;B;C;D;E;F;I;J;K;L;M;N){}
fun test(a: A, b: B, c: C, d: D, e: E, f: F, i: I, j: J, k: K, l: L, m: M, n: N): Unit
