8365915b3f
There are two types of type lists that can be met in Kotlin metadata and that should be treated in a different way: 1. The order-sensitive type list. Examples: Context receivers. 2. The order-insensitive type list. Examples: Class supertypes, type parameter upper bounds. With (1) swapping elements in list causes source and/or ABI incompatibility, while with (2) it does not. If it happens that we compare two type lists in Kotlin metadata of (2) kind, we should group them using the key computed with the help of `dumpToString(dumpExtras = false)` instead of just the index as we do in case of (1). ^KT-62753