pub fn chan<T>() -> (Sender<T>, Receiver<T>)