// !LANGUAGE: -NewInference // !DIAGNOSTICS: -UNUSED_PARAMETER open class A class B : A() class Or(left: A, right: A) : A() class Out fun test(ls: Out) { ls.reduce(::Or) } fun Out.reduce(operation: (S, T) -> S): S = TODO()