async fn attach_direct_remove_semantics( row: &mut LedgerRow, resolver: &impl DataResolver, cache: &mut BTreeMap<(u32, u32), Vec<String>>, )