pub fn unbounded<T>() -> (Sender<T>, Receiver<T>)
Make a channel that can grow until the program runs out of memory
Returns (sender, receiver)
(sender, receiver)