FILE: eagerResolveOfSingleCallableReference.kt
    public open class A : R|kotlin/Any| {
        public constructor(): R|A| {
            super<R|kotlin/Any|>()
        }

    }
    public final class B : R|A| {
        public constructor(): R|B| {
            super<R|A|>()
        }

    }
    public final class Or : R|A| {
        public constructor(left: R|A|, right: R|A|): R|Or| {
            super<R|A|>()
        }

    }
    public final class Out<out T> : R|kotlin/Any| {
        public constructor<out T>(): R|Out<T>| {
            super<R|kotlin/Any|>()
        }

    }
    public final fun test(ls: R|Out<B>|): R|kotlin/Unit| {
        R|<local>/ls|.R|/reduce|<R|A|, R|B|>(::R|/Or.Or|)
    }
    public final fun <S, T : R|S|> R|Out<T>|.reduce(operation: R|(S, T) -> S|): R|S| {
        ^reduce R|kotlin/TODO|()
    }
