http://talks.golang.org/2013/advconc.slide