pub fn batch<R>(f: impl FnOnce(&BatchCtx) -> R) -> R
Run f as a declarative batch (D12): success commits, panic/rollback discards.
f
Nested batches join the outer frame; the outermost frame owns commit/rollback.