pub use async_channel::{Receiver, RecvError, SendError, Sender};
pub fn bounded<T>(cap: usize) -> (Sender<T>, Receiver<T>) {
assert!(cap >= 1, "go::chan::bounded requires cap >= 1");
async_channel::bounded(cap)
}
pub fn unbounded<T>() -> (Sender<T>, Receiver<T>) {
async_channel::unbounded()
}