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()
}
