and the channel approach feels that it is going to...
# coroutines
d
and the channel approach feels that it is going to read worse than just
val line = withTimeout(moveTimeout) { currentPlayer.readLine() }
where that lambda could contain complex stuff or several suspension points