pub fn new_duplex_connection<T: DeserializeOwned + Serialize + Unpin, R: AsyncRead + Unpin, W: AsyncWrite + Unpin>(
    raw_read: R,
    raw_write: W
) -> (AsyncReadConverse<R, W, T>, AsyncWriteConverse<W, T>)