Review this Go event loop that disables a branch by nil-ing a channel.
The author disables a branch by setting the channel to nil. Where's the concurrency/lifecycle bug?