FILE: indirectUpperBound.kt
    public final fun <K1 : R|K2|, K2, K3 : R|K2|> throughDeclared(k: R|K1|, vararg lam: R|kotlin/Array<out (K3) -> kotlin/Unit>|): R|kotlin/Unit| {
    }
    public final fun <K1 : R|K2|, K2 : R|kotlin/collections/Set<*>|, K3 : R|K2|> throughDeclaredWithUBOnK2(k: R|K1|, vararg lam: R|kotlin/Array<out (K3) -> kotlin/Unit>|): R|kotlin/Unit| {
    }
    public final fun <K> select(vararg k: R|kotlin/Array<out K>|): R|K| {
        ^select R|<local>/k|.R|SubstitutionOverride<kotlin/Array.get: R|CapturedType(out K)|>|(Int(0))
    }
    public final fun <T> materializeFromLambdaInputs(vararg t: R|kotlin/Array<out (T) -> kotlin/Unit>|): R|T| {
        ^materializeFromLambdaInputs Null(null)!!
    }
    public final fun test(): R|kotlin/Unit| {
        R|/throughDeclared|<R|kotlin/collections/Set<kotlin/Int>|, R|kotlin/collections/Set<kotlin/Int>|, R|kotlin/collections/Set<kotlin/Int>|>(Q|kotlin/collections|.R|kotlin/collections/setOf|<R|kotlin/Int|>(), vararg(throughDeclared@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclared Unit
        }
        ))
        R|/throughDeclared|<R|kotlin/collections/Set<kotlin/String>|, R|kotlin/collections/Set<kotlin/String>|, R|it(kotlin/collections/Set<kotlin/Int> & kotlin/collections/Set<kotlin/String>)|>(Q|kotlin/collections|.R|kotlin/collections/setOf|<R|kotlin/String|>(String()), vararg(throughDeclared@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclared Unit
        }
        ))
        R|/throughDeclared|<R|kotlin/collections/MutableSet<kotlin/Int>|, R|kotlin/collections/MutableSet<kotlin/Int>|, R|kotlin/collections/MutableSet<kotlin/Int>|>(Q|kotlin/collections|.R|kotlin/collections/mutableSetOf|<R|kotlin/Int|>(), vararg(throughDeclared@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclared Unit
        }
        , throughDeclared@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclared Unit
        }
        ))
        R|/throughDeclared|<R|kotlin/collections/MutableSet<it(kotlin/Comparable<*> & java/io/Serializable)>|, R|kotlin/collections/MutableSet<out it(kotlin/Comparable<*> & java/io/Serializable)>|, R|it(kotlin/collections/MutableSet<kotlin/Int> & kotlin/collections/MutableSet<kotlin/String>)|>(Q|kotlin/collections|.R|kotlin/collections/mutableSetOf|<R|it(kotlin/Comparable<*> & java/io/Serializable)|>(), vararg(throughDeclared@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclared Unit
        }
        , throughDeclared@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/String>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclared Unit
        }
        ))
        R|/throughDeclaredWithUBOnK2|<R|kotlin/collections/Set<kotlin/Int>|, R|kotlin/collections/Set<kotlin/Int>|, R|kotlin/collections/Set<kotlin/Int>|>(Q|kotlin/collections|.R|kotlin/collections/setOf|<R|kotlin/Int|>(), vararg(throughDeclaredWithUBOnK2@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclaredWithUBOnK2 Unit
        }
        ))
        R|/throughDeclaredWithUBOnK2|<R|kotlin/collections/Set<kotlin/String>|, R|kotlin/collections/Set<kotlin/String>|, R|it(kotlin/collections/Set<kotlin/Int> & kotlin/collections/Set<kotlin/String>)|>(Q|kotlin/collections|.R|kotlin/collections/setOf|<R|kotlin/String|>(String()), vararg(throughDeclaredWithUBOnK2@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclaredWithUBOnK2 Unit
        }
        ))
        R|/throughDeclaredWithUBOnK2<Inapplicable(INAPPLICABLE): /throughDeclaredWithUBOnK2>#|<R|kotlin/collections/MutableSet<kotlin/Int>|, R|kotlin/collections/MutableSet<kotlin/Int>|, R|kotlin/collections/MutableSet<kotlin/Int>|>(<Ambiguous collection literal>#(), vararg(throughDeclaredWithUBOnK2@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@throughDeclaredWithUBOnK2 Unit
        }
        ))
        R|/select|<R|kotlin/collections/Set<kotlin/Int>|>(vararg(R|/select|<R|kotlin/collections/Set<kotlin/Int>|>(vararg(Q|kotlin/collections|.R|kotlin/collections/setOf|<R|kotlin/Int|>())), R|/materializeFromLambdaInputs|<R|kotlin/collections/Set<kotlin/Int>|>(vararg(materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        ))))
        R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(Q|kotlin/collections|.R|kotlin/collections/mutableSetOf|<R|kotlin/String|>())), R|/materializeFromLambdaInputs|<R|it(kotlin/collections/MutableSet<kotlin/String> & kotlin/collections/Set<kotlin/Int>)|>(vararg(materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/String>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        , materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/Int>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        ))))
        R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(Q|kotlin/collections|.R|kotlin/collections/mutableSetOf|<R|kotlin/String|>(), R|kotlin/collections/mutableSetOf|<R|kotlin/String|>())), R|/materializeFromLambdaInputs|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/String>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        ))))
        R|/select<Inapplicable(INAPPLICABLE): /select>#|<R|kotlin/collections/Set<kotlin/String>|>(vararg(R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(<Ambiguous collection literal>#(), R|kotlin/collections/mutableSetOf|<R|kotlin/String|>())), R|/materializeFromLambdaInputs|<R|kotlin/collections/Set<kotlin/String>|>(vararg(materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/String>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        ))))
        lval expected1: R|kotlin/collections/MutableSet<kotlin/String>| = R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(R|/select|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(Q|kotlin/collections|.R|kotlin/collections/mutableSetOf|<R|kotlin/String|>())), R|/materializeFromLambdaInputs|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/Set<kotlin/String>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        ))))
        lval expected2: R|kotlin/collections/Set<kotlin/String>| = R|/select<Inapplicable(INAPPLICABLE): /select>#|<R|kotlin/collections/Set<kotlin/String>|>(vararg(R|/select|<R|kotlin/collections/Set<kotlin/String>|>(vararg(<Ambiguous collection literal>#())), R|/materializeFromLambdaInputs|<R|kotlin/collections/MutableSet<kotlin/String>|>(vararg(materializeFromLambdaInputs@fun <anonymous>(it: R|kotlin/collections/MutableSet<kotlin/String>|): R|kotlin/Unit| <inline=Unknown>  {
            ^@materializeFromLambdaInputs Unit
        }
        ))))
    }
