pub fn diff_entries(before: &[Entry], after: &[Entry]) -> BibDiff
Compute the structural diff between two entry lists. Pure: no I/O, no global state. Deterministic: same inputs ⇒ same output, lists sorted by citekey.