The rule of thumb: Arrow shows if the data is going into (output) or going out of (input) channel. No arrow is general purpose channel.
chan <- writing to channel (output channel)
<- chan reading from channel (input channel)
chan read from or write to channel (input/output channel)https://dave.cheney.net/2014/03/19/channel-axioms
https://www.opsdash.com/blog/job-queues-in-go.html
Context + Channels:
https://www.digitalocean.com/community/tutorials/how-to-use-contexts-in-go
https://blog.devgenius.io/5-useful-concurrency-patterns-in-golang-8dc90ad1ea61