diff

fun diff(old: Snapshot, new: Snapshot, renames: Map<String, String> = emptyMap()): List<Change>

Diffs old (baseline) against new (current), oldest→newest.

renames declares intentional serial-name changes (old → new) so a moved type is followed and its contents diffed, rather than reported as a spurious remove + add (design §8). Only renames whose both endpoints are present are honored, so a stale entry can never silently drop a contract.