pub async fn gen<W: AsyncWrite + Unpin, F: SerializeFn<AsyncBufWriter<W>>>(
    f: F,
    w: AsyncBufWriter<W>
) -> Result<(AsyncBufWriter<W>, u64), GenError>