pub fn channel<T>(capacity: usize) -> (Sender<T>, Receiver<T>)