CSP coroutines implememented in go