FILE: main.kt
    public final class Inv<T> : R|kotlin/Any| {
        public constructor<T>(): R|Inv<T>| {
            super<R|kotlin/Any|>()
        }

    }
    public open class B<V> : R|A<kotlin/Any, V>| {
        public constructor<V>(): R|B<V>| {
            super<R|A<kotlin/Any, V>|>()
        }

        public open override fun take(value: R|V|): R|kotlin/String| {
            ^take String()
        }

        public open override fun takeInv(value: R|Inv<V>|): R|kotlin/String| {
            ^takeInv String()
        }

    }
    public final fun test_1(b: R|B<kotlin/Int>|, x: R|kotlin/Int|, inv: R|Inv<kotlin/Int>|): R|kotlin/Unit| {
        R|<local>/b|.<Ambiguity: take, [/B.take, /B.take]>#(R|<local>/x|)
        R|<local>/b|.<Ambiguity: take, [/B.take, /B.take]>#(Null(null))
        R|<local>/b|.<Ambiguity: takeInv, [/B.takeInv, /B.takeInv]>#(R|<local>/inv|)
    }
