it is funny to watch how in Golang they are trying to solve problems that was solved in kotlin by design
https://posener.github.io/goroutine-scoped-context/ (coroutineContext)
https://github.com/golang/go/issues/27982 (job cancel)
in my production code I found myself using channels only twice and never had to use selects. at the same time in Golang.. well, you don’t have any deferred/promise from the box and have to do workarounds with channels, selects, sync.Wait and if you want to do cancel or timeout you will end up with tons of boilerplate code