package channel // Forward reads all values from all sources and sends them to target. // It blocks until all values are forwarded and the out channel was closed. // Use with go keyword for non-blocking behavior func Forward[T any](target chan<- T, sources ...<-chan T) { for value := range Merge(sources...) { target <- value } close(target) }