FILE: test.kt public abstract interface StringSet : R|kotlin/collections/MutableSet| { } public final fun foo(arg: R|kotlin/Boolean|): R|kotlin/Unit| { lval x: R|ft, Raw type java/util/ArrayList<*>>| = Q|Producer|.R|/Producer.foo*s|() when () { (R|/x| is R|kotlin/collections/Set<*>|) -> { lval y: R|ft, Raw type java/util/ArrayList<*>>| = R|/x| } } when () { (R|/x| is R|kotlin/collections/MutableSet<*>|) -> { lval y: R|ft, Raw type java/util/ArrayList<*>>| = R|/x| } } when () { (R|/x| is R|StringSet|) -> { R|/x|.R|SubstitutionOverride|(String()) R|/x|.R|SubstitutionOverride|(Int(1)) R|/x|.R|SubstitutionOverride|(Null(null)) R|/x|.R|SubstitutionOverride|>|().R|SubstitutionOverride|().R|kotlin/String.length| } } }