func AppleMux2(in1, in2 <-chan Apple, closer <-chan bool, out chan<- Apple) {
	running := true
	for running {
		select {
		case v := <-in1:
			out <- v
		case v := <-in2:
			out <- v
		case _ = <-closer:
			running = false
		}
	}
	go AppleBlackHole(in1)
	go AppleBlackHole(in2)
	close(out)
}
// AppleMux2 multiplexes two streams of Apple into a single output channel.
// Each input channel is used as soon as it is ready.
// When a signal is received from the closer channel, the output channel is then closed.
// Concurrently, both input channels are then passed into blackholes that comsume them until they too are closed,
// and the function terminates.
//
// It is part of the Plumbing function suite for Apple.
AppleMux2 multiplexes two streams of Apple into a single output channel.
Each input channel is used as soon as it is ready.
When a signal is received from the closer channel, the output channel is then closed.
Concurrently, both input channels are then passed into blackholes that comsume them until they too are closed,
and the function terminates.

It is part of the Plumbing function suite for Apple.
// AppleMux2 multiplexes two streams of Apple into a single output channel . // Each input channel is used as soon as it is ready . // When a signal is received from the closer channel the output channel is then closed . // Concurrently both input channels are then passed into blackholes that comsume them until they too are closed // and the function terminates . // // It is part of the Plumbing function suite for Apple .
func AppleMux2(in1, in2 <-chan Apple, closer <-chan bool, out chan<- Apple) {
	running := true
	for running {
		select {
		case v := <-in1:
			out <- v
		case v := <-in2:
			out <- v
		case _ = <-closer:
			running = false
		}
	}
	go AppleBlackHole(in1)
	go AppleBlackHole(in2)
	close(out)
}
func AppleMux2 ( in1 , in2 <- chan Apple , closer <- chan bool , out chan <- Apple ) { running := true for running { select { case v := <- in1 : out <- v case v := <- in2 : out <- v case _ = <- closer : running = false } } go AppleBlackHole ( in1 ) go AppleBlackHole ( in2 ) close ( out ) }
AppleMux2 multiplexes two streams of Apple into a single output channel.
AppleMux2 multiplexes two streams of Apple into a single output channel .