async fn add_batch<'tx, K, V>(
    tx: &'tx Transaction<'tx>,
    batches: &mut Vec<AppendBatch>,
    typed: &'tx TypedCollection<K, V>,
    changes: &[(K, V, Diff)]
) -> Result<(), StashError>where
    K: Data + 'tx,
    V: Data + 'tx,