pub async fn proxy_generic_tokio_streams<SenderA: AsyncWrite + Unpin, ReaderA: AsyncRead + Unpin, SenderB: AsyncWrite + Unpin, ReaderB: AsyncRead + Unpin>(
    a: (SenderA, ReaderA),
    b: (SenderB, ReaderB)
) -> Result<(u64, u64), Error>