pub fn channel<T>() -> Result<(Sender<T>, Receiver<T>), ChannelError>where T: for<'de> Deserialize<'de> + Serialize,