Author here. Originally I thought it's bad form to close a channel that the client passes in. But you're the second one to point this out and I've come around to seeing it's clearer and more idiomatic. Just pushed the change.
I strongly recommend following that up with John Repy's work, "CML: A higher concurrent language" (1991) [1]. It has an amazingly simple and straight-forward form of compositional concurrency that I would love to see in a language today (Rust?).
Repy later went on to start Manticore [2], but it seems stuck in Research Land.
No, I always wanted to read the paper, because I know that it's a very influential paper. I actually started reading it once, but I got stuck. Now I read this Go code and immediately understood all of it. So I hope it will help me understand the paper.
Agree. I slogged my way through it a while ago, and I wish I had this Go translation at that time to help me along. It is much clearer to me than the notation used in the paper.