package public fun intersect(/*0*/ vararg elements: S /*kotlin.Array*/): S where S : Bound2 public fun test(): kotlin.Unit public fun testIntersectionAlternative(): Bound public interface Bound { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Bound1 : Bound { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Bound2 : Bound { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public interface Bound3 { public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } public object First : Bound1, Bound2, Bound3 { private constructor First() public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String } public object Second : Bound1, Bound2, Bound3 { private constructor Second() public open override /*3*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean public open override /*3*/ /*fake_override*/ fun hashCode(): kotlin.Int public open override /*3*/ /*fake_override*/ fun toString(): kotlin.String }