Message from Thibault Seisel in public Slack: https://kotlinlang.slack.com/archives/C1CFAFJSK/p1574860187023800 Since `ReceiveChannel<T>.onReceiveOrNul`l has been deprecated, it is suggested to replace it with the `onReceiveOrNull` extension function.But I find that it's surprisingly hard to use that function: Since there is a member property `onReceiveOrNull` it takes precedence over the extension. Since `onReceiveOrNull` is a function, the block passed as select clause is incorrectly interpreted as an extra lambda parameter. While the following workaround code works: ``` import kotlinx.coroutines.channels.onReceiveOrNull as onReceiveOrNullExt select { channel.onReceiveOrNullExt().invoke { foo -> [...] } anotherChannel.onReceive { bar -> [...] } } ``` It is not as convenient as the original Select API. Wouldn't it be better to convert that extension function to an extension property with a different name ?