==> go run try_it.go
# command-line-arguments
./try_it.go:44: invalid operation: cmd <- cb.providerIn (send to non-chan type int)
./try_it.go:62: invalid operation: inState <- cb.consumerIn (send to non-chan type int)
./try_it.go:66: invalid operation: inData <- cb.data (send to non-chan type interface {})