```interface BinarySameType { operator fun<T&g...
# announcements
a
Copy code
interface BinarySameType {
	operator fun<T> invoke(a:T,b:T):T
}
fun <U> weirdChoice(random: BinarySameType, c1: U, c2: U): U {
	if (random(true, false)) {
		return random(c1, c2)
	} else {
		return random(c2, c1)
	}
}